Rework conf in plugins

This commit is contained in:
Grégory Soutadé 2014-11-24 21:42:57 +01:00
parent 549c0e5d97
commit d5db763b48
7 changed files with 19 additions and 25 deletions

View File

@ -2,16 +2,10 @@ import importlib
import inspect import inspect
import traceback import traceback
import default_conf as conf
import conf as _
conf.__dict__.update(_.__dict__)
del _
class IPlugin(object): class IPlugin(object):
def __init__(self, iwla, conf): def __init__(self, iwla):
self.iwla = iwla self.iwla = iwla
self.conf = conf
self.requires = [] self.requires = []
self.API_VERSION = 1 self.API_VERSION = 1
self.ANALYSIS_CLASS = 'HTTP' self.ANALYSIS_CLASS = 'HTTP'
@ -25,12 +19,6 @@ class IPlugin(object):
return True return True
def getConfValue(self, key, default):
if not key in dir(self.conf):
return default
else:
return self.conf.__dict__[key]
def getRequirements(self): def getRequirements(self):
return self.requires return self.requires
@ -58,7 +46,7 @@ def preloadPlugins(plugins, iwla):
print 'No plugin defined in %s' % (plugin_path) print 'No plugin defined in %s' % (plugin_path)
continue continue
plugin = classes[0](iwla, conf) plugin = classes[0](iwla)
plugin_name = plugin.__class__.__name__ plugin_name = plugin.__class__.__name__
if not plugin.isValid(iwla.ANALYSIS_CLASS, iwla.API_VERSION): if not plugin.isValid(iwla.ANALYSIS_CLASS, iwla.API_VERSION):

View File

@ -42,6 +42,12 @@ class IWLA(object):
conf.POST_HOOK_DIRECTORY : conf.post_analysis_hooks, conf.POST_HOOK_DIRECTORY : conf.post_analysis_hooks,
conf.DISPLAY_HOOK_DIRECTORY : conf.display_hooks} conf.DISPLAY_HOOK_DIRECTORY : conf.display_hooks}
def getConfValue(self, key, default):
if not key in dir(conf):
return default
else:
return conf.__dict__[key]
def _clearVisits(self): def _clearVisits(self):
self.current_analysis = { self.current_analysis = {
'days_stats' : {}, 'days_stats' : {},

View File

@ -5,8 +5,8 @@ from iplugin import IPlugin
from display import * from display import *
class IWLADisplayTopVisitors(IPlugin): class IWLADisplayTopVisitors(IPlugin):
def __init__(self, iwla, conf): def __init__(self, iwla):
super(IWLADisplayTopVisitors, self).__init__(iwla, conf) super(IWLADisplayTopVisitors, self).__init__(iwla)
self.API_VERSION = 1 self.API_VERSION = 1
self.requires = ['IWLAPostAnalysisTopVisitors'] self.requires = ['IWLAPostAnalysisTopVisitors']

View File

@ -4,12 +4,12 @@ from iwla import IWLA
from iplugin import IPlugin from iplugin import IPlugin
class IWLAPostAnalysisReverseDNS(IPlugin): class IWLAPostAnalysisReverseDNS(IPlugin):
def __init__(self, iwla, conf): def __init__(self, iwla):
super(IWLAPostAnalysisReverseDNS, self).__init__(iwla, conf) super(IWLAPostAnalysisReverseDNS, self).__init__(iwla)
self.API_VERSION = 1 self.API_VERSION = 1
def load(self): def load(self):
timeout = self.getConfValue('reverse_dns_timeout', 0.5) timeout = self.iwla.getConfValue('reverse_dns_timeout', 0.5)
socket.setdefaulttimeout(timeout) socket.setdefaulttimeout(timeout)
return True return True

View File

@ -2,8 +2,8 @@ from iwla import IWLA
from iplugin import IPlugin from iplugin import IPlugin
class IWLAPostAnalysisTopVisitors(IPlugin): class IWLAPostAnalysisTopVisitors(IPlugin):
def __init__(self, iwla, conf): def __init__(self, iwla):
super(IWLAPostAnalysisTopVisitors, self).__init__(iwla, conf) super(IWLAPostAnalysisTopVisitors, self).__init__(iwla)
self.API_VERSION = 1 self.API_VERSION = 1
def hook(self, iwla): def hook(self, iwla):

View File

@ -6,8 +6,8 @@ from iplugin import IPlugin
from awstats_robots_data import awstats_robots from awstats_robots_data import awstats_robots
class IWLAPreAnalysisRobots(IPlugin): class IWLAPreAnalysisRobots(IPlugin):
def __init__(self, iwla, conf): def __init__(self, iwla):
super(IWLAPreAnalysisRobots, self).__init__(iwla, conf) super(IWLAPreAnalysisRobots, self).__init__(iwla)
self.API_VERSION = 1 self.API_VERSION = 1
def load(self): def load(self):

View File

@ -7,8 +7,8 @@ from iplugin import IPlugin
class IWLAPreAnalysisSoutade(IPlugin): class IWLAPreAnalysisSoutade(IPlugin):
def __init__(self, iwla, conf): def __init__(self, iwla):
super(IWLAPreAnalysisSoutade, self).__init__(iwla, conf) super(IWLAPreAnalysisSoutade, self).__init__(iwla)
self.API_VERSION = 1 self.API_VERSION = 1
def load(self): def load(self):