forked from github/pelican
Merge pull request #241 from draftcode/metadata_lowercase
Make names of metadata lower.
This commit is contained in:
commit
71a5ba3283
3 changed files with 17 additions and 2 deletions
|
|
@ -36,8 +36,8 @@ class Reader(object):
|
|||
self.settings = settings
|
||||
|
||||
def process_metadata(self, name, value):
|
||||
if name.lower() in _METADATA_PROCESSORS:
|
||||
return _METADATA_PROCESSORS[name.lower()](value, self.settings)
|
||||
if name in _METADATA_PROCESSORS:
|
||||
return _METADATA_PROCESSORS[name](value, self.settings)
|
||||
return value
|
||||
|
||||
|
||||
|
|
@ -75,6 +75,7 @@ class RstReader(Reader):
|
|||
else: # standard fields (e.g. address)
|
||||
name = element.tagname
|
||||
value = element.astext()
|
||||
name = name.lower()
|
||||
|
||||
output[name] = self.process_metadata(name, value)
|
||||
return output
|
||||
|
|
|
|||
6
tests/content/article_with_uppercase_metadata.rst
Normal file
6
tests/content/article_with_uppercase_metadata.rst
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
This is a super article !
|
||||
#########################
|
||||
|
||||
:Category: Yeah
|
||||
|
||||
|
|
@ -35,6 +35,14 @@ class RstReaderTest(unittest.TestCase):
|
|||
for key, value in expected.items():
|
||||
self.assertEquals(value, metadata[key], key)
|
||||
|
||||
def test_article_metadata_key_lowercase(self):
|
||||
"""Keys of metadata should be lowercase."""
|
||||
reader = readers.RstReader({})
|
||||
content, metadata = reader.read(_filename('article_with_uppercase_metadata.rst'))
|
||||
|
||||
self.assertIn('category', metadata, "Key should be lowercase.")
|
||||
self.assertEquals('Yeah', metadata.get('category'), "Value keeps cases.")
|
||||
|
||||
def test_typogrify(self):
|
||||
# if nothing is specified in the settings, the content should be
|
||||
# unmodified
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue