/usr/lib/python3/dist-packages/fail2ban/client/__pycache__
Edit: /usr/lib/python3/dist-packages/fail2ban/client/__pycache__/configreader.cpython-310.pyc (12252B)
o
;s*bO4 @ s d Z dZdZddlZddlZddlmZmZ ddlm Z m
Z
mZ dd lm
Z
mZmZmZ e
eZeed
Zdd ZG d
d dZG dd de
ZG dd deZdS )z?Cyril Jaquier, Yaroslav Halchenko, Serg G. Brester (aka sebres)z\Copyright (c) 2004 Cyril Jaquier, 2007 Yaroslav Halchenko, 2015 Serg G. Brester (aka sebres)GPL N)
NoOptionErrorNoSectionError )sysSafeConfigParserWithIncludeslogLevel ) getLogger_as_bool_merge_dictssubstituteRecursiveTags)boolintc c sv t | ttfr(| D ]}t|dkr|\}}}n|d\}}}|||fV q
dS | D ]}| | \}}|||fV q*dS )zIterator over the options template with default options.
Each options entry is composed of an array or tuple with:
[[type, name, ?default?], ...]
Or it is a dict:
{name: [type, default], ...}
r N)
isinstancelisttuplelen)optionsoptnameopttypeoptvalue r >/usr/lib/python3/dist-packages/fail2ban/client/configreader.py_OptionsTemplateGen) s r c @ s e Zd ZdZd"ddZdd Zdd Zed d
Zd#dd
Z d$ddZ
dd Zdd Zd#ddZ
dd Zdd Zd%ddZdi fddZd d! ZdS )&ConfigReaderzkGeneric config reader class.
A caching adapter which automatically reuses already shared configuration.
Nc K sZ d | _ d | _|d ur
|| _|d ur|| _ || _d | _d S | jd u r+tdi || _d S d S )Nr )
_cfg_share_cfg_cfg_share_kwargs_cfg_share_basedirConfigReaderUnshared)self
use_configshare_configkwargsr r r __init__D s
zConfigReader.__init__c C s | j r| j | d S || _d S N)r
setBaseDirr r! basedirr r r r' R s
zConfigReader.setBaseDirc C s | j r| j S | jS r&