diff options
-rw-r--r-- | sphinx/builders/_epub_base.py | 2 | ||||
-rw-r--r-- | sphinx/builders/epub3.py | 2 | ||||
-rw-r--r-- | sphinx/config.py | 2 | ||||
-rw-r--r-- | tests/test_util_i18n.py | 27 |
4 files changed, 19 insertions, 14 deletions
diff --git a/sphinx/builders/_epub_base.py b/sphinx/builders/_epub_base.py index 26efdc1fb..4bb602fe0 100644 --- a/sphinx/builders/_epub_base.py +++ b/sphinx/builders/_epub_base.py @@ -483,7 +483,7 @@ class EpubBuilder(StandaloneHTMLBuilder): metadata['copyright'] = html.escape(self.config.epub_copyright) metadata['scheme'] = html.escape(self.config.epub_scheme) metadata['id'] = html.escape(self.config.epub_identifier) - metadata['date'] = html.escape(format_date("%Y-%m-%d")) + metadata['date'] = html.escape(format_date("%Y-%m-%d", language='en')) metadata['manifest_items'] = [] metadata['spines'] = [] metadata['guides'] = [] diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py index 013955ed1..46c636c7d 100644 --- a/sphinx/builders/epub3.py +++ b/sphinx/builders/epub3.py @@ -88,7 +88,7 @@ class Epub3Builder(_epub_base.EpubBuilder): metadata['contributor'] = html.escape(self.config.epub_contributor) metadata['page_progression_direction'] = PAGE_PROGRESSION_DIRECTIONS.get(writing_mode) metadata['ibook_scroll_axis'] = IBOOK_SCROLL_AXIS.get(writing_mode) - metadata['date'] = html.escape(format_date("%Y-%m-%dT%H:%M:%SZ")) + metadata['date'] = html.escape(format_date("%Y-%m-%dT%H:%M:%SZ", language='en')) metadata['version'] = html.escape(self.config.version) metadata['epub_version'] = self.config.epub_version return metadata diff --git a/sphinx/config.py b/sphinx/config.py index dc9a2a9ae..5f92479d3 100644 --- a/sphinx/config.py +++ b/sphinx/config.py @@ -405,7 +405,7 @@ def correct_copyright_year(app: "Sphinx", config: Config) -> None: if getenv('SOURCE_DATE_EPOCH') is not None: for k in ('copyright', 'epub_copyright'): if k in config: - replace = r'\g<1>%s' % format_date('%Y') + replace = r'\g<1>%s' % format_date('%Y', language='en') config[k] = copyright_year_re.sub(replace, config[k]) diff --git a/tests/test_util_i18n.py b/tests/test_util_i18n.py index d962fa2df..c80e9183e 100644 --- a/tests/test_util_i18n.py +++ b/tests/test_util_i18n.py @@ -2,6 +2,7 @@ import datetime import os +import warnings import pytest from babel.messages.mofile import read_mo @@ -53,7 +54,11 @@ def test_format_date(): # strftime format format = '%B %d, %Y' - assert i18n.format_date(format, date=date) == 'February 07, 2016' + with warnings.catch_warnings(): + # Test format_date() with no language argument -- this form will be + # removed in Sphinx 7 (xref RemovedInSphinx70Warning) + warnings.simplefilter("ignore") + assert i18n.format_date(format, date=date) == 'February 07, 2016' assert i18n.format_date(format, date=date, language='') == 'February 07, 2016' assert i18n.format_date(format, date=date, language='unknown') == 'February 07, 2016' assert i18n.format_date(format, date=date, language='en') == 'February 07, 2016' @@ -62,28 +67,28 @@ def test_format_date(): # raw string format = 'Mon Mar 28 12:37:08 2016, commit 4367aef' - assert i18n.format_date(format, date=date) == format + assert i18n.format_date(format, date=date, language='en') == format format = '%B %d, %Y, %H:%M:%S %I %p' datet = datetime.datetime(2016, 2, 7, 5, 11, 17, 0) - assert i18n.format_date(format, date=datet) == 'February 07, 2016, 05:11:17 05 AM' + assert i18n.format_date(format, date=datet, language='en') == 'February 07, 2016, 05:11:17 05 AM' format = '%B %-d, %Y, %-H:%-M:%-S %-I %p' - assert i18n.format_date(format, date=datet) == 'February 7, 2016, 5:11:17 5 AM' + assert i18n.format_date(format, date=datet, language='en') == 'February 7, 2016, 5:11:17 5 AM' format = '%x' - assert i18n.format_date(format, date=datet) == 'Feb 7, 2016' + assert i18n.format_date(format, date=datet, language='en') == 'Feb 7, 2016' format = '%X' - assert i18n.format_date(format, date=datet) == '5:11:17 AM' - assert i18n.format_date(format, date=date) == 'Feb 7, 2016' + assert i18n.format_date(format, date=datet, language='en') == '5:11:17 AM' + assert i18n.format_date(format, date=date, language='en') == 'Feb 7, 2016' format = '%c' - assert i18n.format_date(format, date=datet) == 'Feb 7, 2016, 5:11:17 AM' - assert i18n.format_date(format, date=date) == 'Feb 7, 2016' + assert i18n.format_date(format, date=datet, language='en') == 'Feb 7, 2016, 5:11:17 AM' + assert i18n.format_date(format, date=date, language='en') == 'Feb 7, 2016' # timezone format = '%Z' - assert i18n.format_date(format, date=datet) == 'UTC' + assert i18n.format_date(format, date=datet, language='en') == 'UTC' format = '%z' - assert i18n.format_date(format, date=datet) == '+0000' + assert i18n.format_date(format, date=datet, language='en') == '+0000' @pytest.mark.xfail(os.name != 'posix', reason="Path separators don't match on windows") |