Add has_subclasses checks for iplugins (prevent for loading parent class)
This commit is contained in:
parent
df78a3f4cb
commit
ee184f86b5
|
@ -79,13 +79,19 @@ def preloadPlugins(plugins, iwla):
|
||||||
classes = [c for _,c in inspect.getmembers(mod)\
|
classes = [c for _,c in inspect.getmembers(mod)\
|
||||||
if inspect.isclass(c) and \
|
if inspect.isclass(c) and \
|
||||||
issubclass(c, IPlugin) and \
|
issubclass(c, IPlugin) and \
|
||||||
c.__name__ != 'IPlugin'
|
c.__name__ != 'IPlugin' and \
|
||||||
|
not c.__subclasses__()
|
||||||
]
|
]
|
||||||
|
|
||||||
if not classes:
|
if not classes:
|
||||||
logger.warning('No plugin defined in %s' % (plugin_path))
|
logger.warning('No plugin defined in %s' % (plugin_path))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
if len(classes) > 1:
|
||||||
|
logger.warning('More than one class found in %s, loading may fail. Selecting %s' % (plugin_path, classes[0]))
|
||||||
|
print classes
|
||||||
|
continue
|
||||||
|
|
||||||
plugin = classes[0](iwla)
|
plugin = classes[0](iwla)
|
||||||
plugin_name = plugin.__class__.__name__
|
plugin_name = plugin.__class__.__name__
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
from iwla import IWLA
|
from iwla import IWLA
|
||||||
from iplugin import IPlugin
|
from iplugin import IPlugin
|
||||||
from display import *
|
from display import *
|
||||||
from plugins.post_analysis.feeds import IWLAPostAnalysisFeeds
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Display hook
|
Display hook
|
||||||
|
@ -60,6 +59,8 @@ class IWLADisplayFeeds(IPlugin):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def hook(self):
|
def hook(self):
|
||||||
|
from plugins.post_analysis.feeds import IWLAPostAnalysisFeeds
|
||||||
|
|
||||||
display = self.iwla.getDisplay()
|
display = self.iwla.getDisplay()
|
||||||
hits = self.iwla.getCurrentVisists()
|
hits = self.iwla.getCurrentVisists()
|
||||||
nb_feeds_parsers = 0
|
nb_feeds_parsers = 0
|
||||||
|
@ -88,7 +89,7 @@ class IWLADisplayFeeds(IPlugin):
|
||||||
else:
|
else:
|
||||||
table.appendRow([address, super_hit['viewed_pages'], super_hit['viewed_hits']])
|
table.appendRow([address, super_hit['viewed_pages'], super_hit['viewed_hits']])
|
||||||
page.appendBlock(table)
|
page.appendBlock(table)
|
||||||
note = DisplayHTMLRaw(self.iwla, ('<small>*%s</small>' % (self.iwla._('Merged feeds parsers'))))
|
note = DisplayHTMLRaw(self.iwla, ('<small>*%s</small>' % (self.iwla._(u'Merged feeds parsers'))))
|
||||||
page.appendBlock(note)
|
page.appendBlock(note)
|
||||||
display.addPage(page)
|
display.addPage(page)
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ from display import *
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Display hook itnerface
|
Display hook interface
|
||||||
|
|
||||||
Enlight new and updated statistics
|
Enlight new and updated statistics
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ class IWLADisplayReferersDiff(IWLADisplayStatsDiff):
|
||||||
self.requires = ['IWLADisplayReferers']
|
self.requires = ['IWLADisplayReferers']
|
||||||
self.month_stats_key = 'key_phrases'
|
self.month_stats_key = 'key_phrases'
|
||||||
self.filename = 'key_phrases.html'
|
self.filename = 'key_phrases.html'
|
||||||
self.block_name = u'Key phrases'
|
self.block_name = self.iwla._(u'Key phrases')
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
if not self.iwla.getConfValue('create_all_key_phrases_page', True):
|
if not self.iwla.getConfValue('create_all_key_phrases_page', True):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user