diff piecrust/plugins/base.py @ 852:4850f8c21b6e

core: Start of the big refactor for PieCrust 3.0. * Everything is a `ContentSource`, including assets directories. * Most content sources are subclasses of the base file-system source. * A source is processed by a "pipeline", and there are 2 built-in pipelines, one for assets and one for pages. The asset pipeline is vaguely functional, but the page pipeline is completely broken right now. * Rewrite the baking process as just running appropriate pipelines on each content item. This should allow for better parallelization.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 17 May 2017 00:11:48 -0700
parents 8f8bbb2e70e1
children 371731b555ec
line wrap: on
line diff
--- a/piecrust/plugins/base.py	Sat Apr 29 21:42:22 2017 -0700
+++ b/piecrust/plugins/base.py	Wed May 17 00:11:48 2017 -0700
@@ -39,7 +39,7 @@
     def getSources(self):
         return []
 
-    def getPageGenerators(self):
+    def getPipelines(self):
         return []
 
     def getPublishers(self):
@@ -62,15 +62,15 @@
 
     def getFormatters(self):
         return self._getPluginComponents(
-                'getFormatters',
-                initialize=True, register_timer=True,
-                order_key=lambda f: f.priority)
+            'getFormatters',
+            initialize=True, register_timer=True,
+            order_key=lambda f: f.priority)
 
     def getTemplateEngines(self):
         return self._getPluginComponents(
-                'getTemplateEngines',
-                initialize=True, register_timer=True,
-                register_timer_suffixes=['_segment', '_layout'])
+            'getTemplateEngines',
+            initialize=True, register_timer=True,
+            register_timer_suffixes=['_segment', '_layout'])
 
     def getTemplateEngineExtensions(self, engine_name):
         return self._getPluginComponents('getTemplateEngineExtensions',
@@ -81,9 +81,9 @@
 
     def getProcessors(self):
         return self._getPluginComponents(
-                'getProcessors',
-                initialize=True, register_timer=True,
-                order_key=lambda p: p.priority)
+            'getProcessors',
+            initialize=True, register_timer=True,
+            order_key=lambda p: p.priority)
 
     def getImporters(self):
         return self._getPluginComponents('getImporters')
@@ -100,8 +100,8 @@
     def getSources(self):
         return self._getPluginComponents('getSources')
 
-    def getPageGenerators(self):
-        return self._getPluginComponents('getPageGenerators')
+    def getPipelines(self):
+        return self._getPluginComponents('getPipelines')
 
     def getPublishers(self):
         return self._getPluginComponents('getPublishers')
@@ -142,7 +142,6 @@
 
         if mod is None:
             logger.error("Failed to load plugin '%s'." % plugin_name)
-            logger.error(ex)
             return
 
         plugin_class = getattr(mod, '__piecrust_plugin__', None)
@@ -180,10 +179,11 @@
             if register_timer:
                 for comp in plugin_components:
                     if not register_timer_suffixes:
-                        self.app.env.registerTimer(comp.__class__.__name__)
+                        self.app.env.stats.registerTimer(
+                            comp.__class__.__name__)
                     else:
                         for s in register_timer_suffixes:
-                            self.app.env.registerTimer(
+                            self.app.env.stats.registerTimer(
                                 comp.__class__.__name__ + s)
 
         if order_key is not None: