1
0
Fork 0
forked from github/pelican

Extract refresh_metadata_intersite_links methods

This commit is contained in:
Charles Flèche 2018-02-09 10:39:11 +01:00
commit 65daa9e537
2 changed files with 25 additions and 0 deletions

View file

@ -413,6 +413,16 @@ class Content(object):
os.path.abspath(self.source_path),
os.path.abspath(self.settings['PATH']))))
def refresh_metadata_intersite_links(self):
for key in self.settings['FORMATTED_FIELDS']:
if key in self.metadata:
value = self._update_content(
self.metadata[key],
self.get_siteurl()
)
self.metadata[key] = value
setattr(self, key.lower(), value)
class Page(Content):
mandatory_properties = ('title',)

View file

@ -581,6 +581,14 @@ class ArticlesGenerator(CachingGenerator):
self.generate_pages(writer)
signals.article_writer_finalized.send(self, writer=writer)
def refresh_metadata_intersite_links(self):
for e in chain(self.articles,
self.translations,
self.drafts,
self.drafts_translations):
if hasattr(e, 'refresh_metadata_intersite_links'):
e.refresh_metadata_intersite_links()
class PagesGenerator(CachingGenerator):
"""Generate pages"""
@ -649,6 +657,13 @@ class PagesGenerator(CachingGenerator):
override_output=hasattr(page, 'override_save_as'))
signals.page_writer_finalized.send(self, writer=writer)
def refresh_metadata_intersite_links(self):
for e in chain(self.pages,
self.hidden_pages,
self.hidden_translations):
if hasattr(e, 'refresh_metadata_intersite_links'):
e.refresh_metadata_intersite_links()
class StaticGenerator(Generator):
"""copy static paths (what you want to copy, like images, medias etc.