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_*`.
This commit is contained in:
W. Trevor King 2013-01-04 18:19:26 -05:00
commit 7be16dd524
3 changed files with 18 additions and 14 deletions

View file

@ -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)
============================= ============================ ===========================================================================

View file

@ -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,

View file

@ -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')