From a5772bf3d6e0563b109dc1f2cb19743cf6a19aef Mon Sep 17 00:00:00 2001 From: Bruno Binet Date: Fri, 7 Dec 2012 00:10:30 +0100 Subject: [PATCH] allow override page url and save_as values directly from the metadata this is similar to the template override implemented in #404 --- pelican/contents.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pelican/contents.py b/pelican/contents.py index d675a2ad..77ee70f8 100644 --- a/pelican/contents.py +++ b/pelican/contents.py @@ -44,6 +44,8 @@ class Page(object): # set metadata as attributes for key, value in local_metadata.items(): + if key in ('save_as', 'url'): + key = 'override_' + key setattr(self, key.lower(), value) # also keep track of the metadata attributes available @@ -128,6 +130,8 @@ class Page(object): return self.settings[fq_key].format(**self.url_format) def get_url_setting(self, key): + if hasattr(self, 'override_' + key): + return getattr(self, 'override_' + key) key = key if self.in_default_lang else 'lang_%s' % key return self._expand_settings(key)