Plugins management seems ok

This commit is contained in:
Gregory Soutade
2014-11-22 19:23:56 +01:00
parent db84036d8a
commit 38c041126d
3 changed files with 21 additions and 8 deletions

16
iwla.py
View File

@@ -1,5 +1,6 @@
#!/usr/bin/env python
import sys
import os
import re
import time
@@ -7,6 +8,7 @@ import glob
import imp
import pickle
import gzip
import importlib
from display import *
@@ -41,10 +43,16 @@ class IWLA(object):
ret = True
for root in self.plugins.keys():
for plugin_name in self.plugins[root]:
p = root + '/' + plugin_name
#p = root + '/' + plugin_name
p = root + '.' + plugin_name
try:
fp, pathname, description = imp.find_module(plugin_name, [root])
self.cache_plugins[p] = imp.load_module(p, fp, pathname, description)
# fp, pathname, description = imp.find_module(plugin_name, [root])
# self.cache_plugins[p] = imp.load_module(p, fp, pathname, description)
#p = 'plugins.display.top_visitors'
#sys.path.append(root)
#self.cache_plugins[p] = importlib.import_module(plugin_name, root)
#sys.path.remove(root)
self.cache_plugins[p] = importlib.import_module(p)
mod = self.cache_plugins[p]
infos = mod.get_plugins_infos()
if infos['class'] != IWLA.ANALYSIS_CLASS or \
@@ -122,7 +130,7 @@ class IWLA(object):
print '==> Call plugins (%s)' % root
for p in self.plugins[root]:
print '\t%s' % (p)
mod = self.cache_plugins[root + '/' + p]
mod = self.cache_plugins[root + '.' + p]
mod.hook(*args)
def isPage(self, request):