diff piecrust/plugins/base.py @ 305:9ae23409d6e9

plugins: Change how plugins are loaded. Add a `plugins` command.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 22 Mar 2015 22:20:18 -0700
parents 5dbab01daaba
children 7122976bc751
line wrap: on
line diff
--- a/piecrust/plugins/base.py	Thu Mar 19 22:05:30 2015 -0700
+++ b/piecrust/plugins/base.py	Sun Mar 22 22:20:18 2015 -0700
@@ -47,7 +47,6 @@
     def __init__(self, app):
         self.app = app
         self._plugins = None
-        self._pluginsMeta = None
         self._componentCache = {}
 
     @property
@@ -96,7 +95,6 @@
 
         from piecrust.plugins.builtin import BuiltInPlugin
         self._plugins = [BuiltInPlugin()]
-        self._pluginsMeta = {self._plugins[0].name: False}
 
         for p in self.app.config.get('site/plugins'):
             self._loadPlugin(p)
@@ -106,9 +104,10 @@
 
     def _loadPlugin(self, plugin_name):
         try:
-            mod = importlib.import_module(plugin_name)
-        except ImportError:
-            logger.error("Failed to load plugin '%s'.")
+            mod = importlib.import_module('piecrust_' + plugin_name)
+        except ImportError as ex:
+            logger.error("Failed to load plugin '%s'." % plugin_name)
+            logger.error(ex)
             return
 
         plugin_class = getattr(mod, '__piecrust_plugin__', None)