From 7be16dd5247e07952c009cb439734722acf019ac Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 4 Jan 2013 18:19:26 -0500 Subject: [PATCH] generators: Update PagesGenerator to use new read_file Also standardize signal names. If `article_generator_*` is singular, `page_generator_*` should be as well. Fix it from the older `pages_generator_*`. --- docs/plugins.rst | 6 +++--- pelican/generators.py | 18 +++++++++++------- pelican/signals.py | 8 ++++---- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/docs/plugins.rst b/docs/plugins.rst index 064ba73d..9e262962 100644 --- a/docs/plugins.rst +++ b/docs/plugins.rst @@ -79,9 +79,9 @@ article_generator_finalized article_generator invoked at the e get_generators generators invoked in Pelican.get_generator_classes, can return a Generator, or several generator in a tuple or in a list. -pages_generate_context pages_generator, metadata -pages_generator_init pages_generator invoked in the PagesGenerator.__init__ -pages_generator_finalized pages_generator invoked at the end of PagesGenerator.generate_context +page_generate_context page_generator, metadata +page_generator_init page_generator invoked in the PagesGenerator.__init__ +page_generator_finalized page_generator invoked at the end of PagesGenerator.generate_context content_object_init content_object invoked at the end of Content.__init__ (see note below) ============================= ============================ =========================================================================== diff --git a/pelican/generators.py b/pelican/generators.py index 7daa55d2..a4cd273e 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -479,7 +479,7 @@ class PagesGenerator(Generator): self.hidden_pages = [] self.hidden_translations = [] super(PagesGenerator, self).__init__(*args, **kwargs) - signals.pages_generator_init.send(self) + signals.page_generator_init.send(self) def generate_context(self): all_pages = [] @@ -488,13 +488,17 @@ class PagesGenerator(Generator): os.path.join(self.path, self.settings['PAGE_DIR']), exclude=self.settings['PAGE_EXCLUDES']): try: - content, metadata = read_file(f, settings=self.settings) + page = read_file( + base_path=self.path, path=f, content_class=Page, + settings=self.settings, context=self.context, + preread_signal=signals.page_generator_preread, + preread_sender=self, + context_signal=signals.page_generator_context, + context_sender=self) except Exception as e: - logger.warning('Could not process %s\n%s' % (f, str(e))) + logger.warning('Could not process {}\n{}'.format(f, e)) continue - signals.pages_generate_context.send(self, metadata=metadata) - page = Page(content, metadata, settings=self.settings, - source_path=f, context=self.context) + if not is_valid_content(page, f): continue @@ -516,7 +520,7 @@ class PagesGenerator(Generator): self._update_context(('pages', )) self.context['PAGES'] = self.pages - signals.pages_generator_finalized.send(self) + signals.page_generator_finalized.send(self) def generate_output(self, writer): for page in chain(self.translations, self.pages, diff --git a/pelican/signals.py b/pelican/signals.py index 877b0a6b..cb010d37 100644 --- a/pelican/signals.py +++ b/pelican/signals.py @@ -15,8 +15,8 @@ generator_init = signal('generator_init') article_generator_init = signal('article_generator_init') article_generator_finalized = signal('article_generator_finalized') -pages_generator_init = signal('pages_generator_init') -pages_generator_finalized = signal('pages_generator_finalized') +page_generator_init = signal('page_generator_init') +page_generator_finalized = signal('page_generator_finalized') static_generator_init = signal('static_generator_init') static_generator_finalized = signal('static_generator_finalized') @@ -26,8 +26,8 @@ static_generator_finalized = signal('static_generator_finalized') article_generator_preread = signal('article_generator_preread') article_generator_context = signal('article_generator_context') -pages_generator_preread = signal('pages_generator_preread') -pages_generator_context = signal('pages_generator_context') +page_generator_preread = signal('page_generator_preread') +page_generator_context = signal('page_generator_context') static_generator_preread = signal('static_generator_preread') static_generator_context = signal('static_generator_context')