fail2ban.client.configparserinc module

class fail2ban.client.configparserinc.SafeConfigParserWithIncludes(defaults=None, dict_type=<class 'collections.OrderedDict'>, allow_no_value=False)

Bases: ConfigParser.SafeConfigParser

Class adds functionality to SafeConfigParser to handle included other configuration files (or may be urls, whatever in the future)

File should have section [includes] and only 2 options implemented are ‘files_before’ and ‘files_after’ where files are listed 1 per line.

Example:

[INCLUDES] before = 1.conf

3.conf

after = 1.conf

It is a simple implementation, so just basic care is taken about recursion. Includes preserve right order, ie new files are inserted to the list of read configs before original, and their includes correspondingly so the list should follow the leaves of the tree.

I wasn’t sure what would be the right way to implement generic (aka c++ template) so we could base at any *configparser class... so I will leave it for the future

Methods

add_section(section) Create a new section in the configuration.
defaults()
get(section, option[, raw, vars]) Get an option value for a given section.
getIncludes(resource[, seen]) Given 1 config resource returns list of included files
getboolean(section, option)
getfloat(section, option)
getint(section, option)
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 tuples with (name, value) for each option in the section.
options(section) Return a list of option names for the given section name.
optionxform(optionstr)
read(filenames)
readfp(fp[, filename]) Like read() but the argument must be a file-like object.
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.
write(fp) Write an .ini-format representation of the configuration state.
OPTCRE = <_sre.SRE_Pattern object at 0x7f937b8dd960>
OPTCRE_NV = <_sre.SRE_Pattern object at 0x7f937b74c510>
SECTCRE = <_sre.SRE_Pattern object at 0x7f937b4911b0>
SECTION_NAME = 'INCLUDES'
add_section(section)

Create a new section in the configuration.

Raise DuplicateSectionError if a section by the specified name already exists. Raise ValueError if name is DEFAULT or any of it’s case-insensitive variants.

defaults()
get(section, option, raw=False, vars=None)

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 `defaults’ in that order.

All % interpolations are expanded in the return values, unless the optional argument `raw’ is true. Values for interpolation keys are looked up in the same manner as the option.

The section DEFAULT is special.

static getIncludes(resource, seen=[])

Given 1 config resource returns list of included files (recursively) with the original one as well Simple loops are taken care about

getboolean(section, option)
getfloat(section, option)
getint(section, option)
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.

The DEFAULT section is not acknowledged.

items(section, raw=False, vars=None)

Return a list of tuples with (name, value) for each option in the 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.

options(section)

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

optionxform(optionstr)
read(filenames)
readfp(fp, filename=None)

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

The `fp’ argument must have a `readline’ method. Optional second argument is the `filename’, which if not given, is taken from fp.name. If fp has no `name’ attribute, `<???>’ is used.

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. Extend ConfigParser.set: check for string values.

write(fp)

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