From 24a1254f034a238f481f8b889a961dbde99c551d Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Fri, 30 Sep 2016 15:29:14 +0200 Subject: [PATCH] Explicitly disallow duplications of URL and save_as. --- pelican/readers.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pelican/readers.py b/pelican/readers.py index 415e7558..56e54355 100644 --- a/pelican/readers.py +++ b/pelican/readers.py @@ -31,6 +31,20 @@ except ImportError: # This means that _filter_discardable_metadata() must be called on processed # metadata dicts before use, to remove the items with the special value. _DISCARD = object() + +DUPLICATES_DEFINITIONS_ALLOWED = { + 'tags': False, + 'date': False, + 'modified': False, + 'status': False, + 'category': False, + 'author': False, + 'save_as': False, + 'URL': False, + 'authors': False, + 'slug': False +} + METADATA_PROCESSORS = { 'tags': lambda x, y: ([ Tag(tag, y) @@ -264,7 +278,7 @@ class MarkdownReader(BaseReader): self._md.reset() formatted = self._md.convert(formatted_values) output[name] = self.process_metadata(name, formatted) - elif name in METADATA_PROCESSORS: + elif not DUPLICATES_DEFINITIONS_ALLOWED.get(name, True): if len(value) > 1: logger.warning( 'Duplicate definition of `%s` '