diff --git a/client/filterreader.py b/client/filterreader.py index 20af1533..34272b49 100644 --- a/client/filterreader.py +++ b/client/filterreader.py @@ -24,6 +24,7 @@ __author__ = "Cyril Jaquier" __copyright__ = "Copyright (c) 2004 Cyril Jaquier" __license__ = "GPL" +import os import logging from configreader import ConfigReader @@ -34,23 +35,26 @@ class FilterReader(ConfigReader): def __init__(self, fileName, name, **kwargs): ConfigReader.__init__(self, **kwargs) - self.__file = fileName - self.__name = name + # Defer initialization to the set Methods + self.__file = self.__name = self.__opts = None + self.setFile(fileName) + self.setName(name) def setFile(self, fileName): self.__file = fileName + self.__opts = None def getFile(self): return self.__file def setName(self, name): self.__name = name - + def getName(self): return self.__name def read(self): - return ConfigReader.read(self, "filter.d/" + self.__file) + return ConfigReader.read(self, os.path.join("filter.d", self.__file)) def getOptions(self, pOpts): opts = [["string", "ignoreregex", ""], diff --git a/testcases/samplestestcase.py b/testcases/samplestestcase.py index 6b4d4530..0d1869c3 100644 --- a/testcases/samplestestcase.py +++ b/testcases/samplestestcase.py @@ -60,6 +60,8 @@ def testSampleRegexsFactory(name): # Check filter exists filterConf = FilterReader(name, "jail", basedir=CONFIG_DIR) + self.assertEqual(filterConf.getFile(), name) + self.assertEqual(filterConf.getName(), "jail") filterConf.read() filterConf.getOptions({})