Makes DEFAULT_DATE accept string dates; fixes #1464

This commit is contained in:
Robert Utter 2014-09-22 13:22:36 -07:00 committed by Mr. Senko
commit 3f2d89c9d6
3 changed files with 15 additions and 1 deletions

View file

@ -607,7 +607,10 @@ def default_metadata(settings=None, process=None):
metadata['category'] = value
if settings.get('DEFAULT_DATE', None) and \
settings['DEFAULT_DATE'] != 'fs':
metadata['date'] = SafeDatetime(*settings['DEFAULT_DATE'])
if isinstance(settings['DEFAULT_DATE'], six.string_types):
metadata['date'] = get_date(settings['DEFAULT_DATE'])
else:
metadata['date'] = SafeDatetime(*settings['DEFAULT_DATE'])
return metadata

View file

@ -359,6 +359,15 @@ class RstReaderTest(ReaderTest):
self.assertDictHasSubset(page.metadata, expected)
def test_default_date_formats(self):
tuple_date = self.read_file(path='article.rst',
DEFAULT_DATE=(2012, 5, 1))
string_date = self.read_file(path='article.rst',
DEFAULT_DATE='2012-05-01')
self.assertEqual(tuple_date.metadata['date'],
string_date.metadata['date'])
@unittest.skipUnless(readers.Markdown, "markdown isn't installed")
class MdReaderTest(ReaderTest):