Merge pull request #471 from nrocco/master

New signal called 'finalized'
This commit is contained in:
Alexis Metaireau 2012-09-25 15:03:38 -07:00
commit 7828614459
3 changed files with 10 additions and 3 deletions

View file

@ -53,10 +53,14 @@ List of signals
Here is the list of currently implemented signals:
========================= ============================ =========================================
========================= ============================ ===========================================================================
Signal Arguments Description
========================= ============================ =========================================
========================= ============================ ===========================================================================
initialized pelican object
finalized pelican object invoked after all the generators are executed and just before pelican exits
usefull for custom post processing actions, such as:
- minifying js/css assets.
- notify/ping search engines with an updated sitemap.
article_generate_context article_generator, metadata
article_generator_init article_generator invoked in the ArticlesGenerator.__init__
get_generators generators invoked in Pelican.get_generator_classes,
@ -64,7 +68,7 @@ get_generators generators invoked in Pelican.ge
generator in a tuple or in a list.
pages_generate_context pages_generator, metadata
pages_generator_init pages_generator invoked in the PagesGenerator.__init__
========================= ============================ =========================================
========================= ============================ ===========================================================================
The list is currently small, don't hesitate to add signals and make a pull
request if you need them!

View file

@ -179,6 +179,8 @@ class Pelican(object):
if hasattr(p, 'generate_output'):
p.generate_output(writer)
signals.finalized.send(self)
def get_generator_classes(self):
generators = [StaticGenerator, ArticlesGenerator, PagesGenerator]
if self.settings['PDF_GENERATOR']:

View file

@ -1,6 +1,7 @@
from blinker import signal
initialized = signal('pelican_initialized')
finalized = signal('pelican_finalized')
article_generate_context = signal('article_generate_context')
article_generator_init = signal('article_generator_init')
get_generators = signal('get_generators')