allow override page url and save_as values directly from the metadata

this is similar to the template override implemented in #404
This commit is contained in:
Bruno Binet 2012-12-07 00:10:30 +01:00
commit a5772bf3d6

View file

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