- Added more comments

- Catch exception when option not present in section


git-svn-id: https://fail2ban.svn.sourceforge.net/svnroot/fail2ban/trunk@53 a942ae1a-1317-0410-a47c-b1dcaea8d605
0.6
Cyril Jaquier 2005-02-18 21:48:34 +00:00
parent b5eb68d884
commit f4b083d79b
1 changed files with 36 additions and 26 deletions

View File

@ -29,29 +29,39 @@ import os, sys, time
from ConfigParser import *
class ConfigReader:
""" Reads a log file and reports information about IP that make password
failure, bad user or anything else that is considered as doubtful login
attempt.
"""
""" This class allow the handling of the configuration options.
The DEFAULT section contains the global information about
Fail2Ban. Each other section is for a different log file.
"""
optionValues = ("logfile", "timeregex", "timepattern", "failregex")
optionValues = ("logfile", "timeregex", "timepattern", "failregex")
def __init__(self, confPath):
self.confPath = confPath
self.configParser = SafeConfigParser()
def __init__(self, logSys, confPath):
self.confPath = confPath
self.configParser = SafeConfigParser()
self.logSys = logSys
def openConf(self):
self.configParser.read(self.confPath)
def getSections(self):
return self.configParser.sections()
def getLogOptions(self, sec):
values = dict()
for option in self.optionValues:
v = self.configParser.get(sec, option)
values[option] = v
return values
def openConf(self):
""" Opens the configuration file.
"""
self.configParser.read(self.confPath)
def getSections(self):
""" Returns all the sections present in the configuration
file except the DEFAULT section.
"""
return self.configParser.sections()
def getLogOptions(self, sec):
""" Gets all the options of a given section. The options
are defined in the optionValues list.
"""
values = dict()
for option in self.optionValues:
try:
v = self.configParser.get(sec, option)
values[option] = v
except NoOptionError:
self.logSys.info("No "+option+" defined in "+sec)
return values