a =*f @ sL d Z dZdZddlmZ ddlmZ ddlmZ ee Z G dd d eZd S )z Cyril Jaquierz Copyright (c) 2004 Cyril JaquierZGPL )ConfigReader) JailReader ) getLoggerc @ s> e Zd ZdddZedd Zdd Zdd dZddd ZdS )JailsReaderFc K s$ t j| fi | t | _|| _dS )z Parameters ---------- force_enable : bool, optional Passed to JailReader to force enable the jails. It is for internal use N)r __init__list_JailsReader__jails_JailsReader__force_enable)selfforce_enablekwargs r ?/usr/lib/python3.9/site-packages/fail2ban/client/jailsreader.pyr % s zJailsReader.__init__c C s | j S )N)r r r r r jails1 s zJailsReader.jailsc C s t | _t| dS )Njail)r r r readr r r r r 5 s zJailsReader.readNTc C s g }t | d|| _|du r&| }n|g}d}|D ]x}|dkrBq4t|| j| j| jd}| }|r| r|dO }| j | q4td||rdnd | j | |d O }q4|r|d@ p|d @ S )zDReads configuration for jail(s) and adds enabled jails to __jails Z DefinitionN ZINCLUDES)r share_configZ use_configr zErrors in jail %r.%sz Skipping... r ) r getOptionsZ_JailsReader__optssectionsr r r Z_cfgZ isEnabledr appendlogSyserror) r sectionZignoreWrongZoptsr Zparse_statusZsecr retr r r r 9 s* zJailsReader.getOptionsc C sR t }| jD ]}||j|d q| jD ]"}|jds*|d| g q*|S )zConvert read before __opts and jails to the commands stream Parameters ---------- allow_missing : bool Either to allow log files to be missing entirely. Primarily is used for testing )allow_no_fileszconfig-errorstart)r r extendconvertoptionsgetr getName)r r streamr r r r r! [ s zJailsReader.convert)F)NT)F) __name__ __module____qualname__r propertyr r r r! r r r r r # s "r N) __author__Z __copyright__Z__license__Zconfigreaderr Z jailreaderr Zhelpersr r&