Add has_subclasses checks for iplugins (prevent for loading parent class)
This commit is contained in:
		| @@ -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): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user