mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Code enhancements (thanks to mitya57 and tk0miya):
* use tuple instead of list * compile regex to find copyright year * enclose test inside try/finally
This commit is contained in:
parent
7a89015a54
commit
6509130ff2
@ -22,6 +22,7 @@ from sphinx.util.pycompat import execfile_, NoneType
|
|||||||
from sphinx.util.i18n import format_date
|
from sphinx.util.i18n import format_date
|
||||||
|
|
||||||
nonascii_re = re.compile(br'[\x80-\xff]')
|
nonascii_re = re.compile(br'[\x80-\xff]')
|
||||||
|
copyright_year_re = re.compile(br'^((\d{4}-)?)(\d{4})(?=[ ,])')
|
||||||
|
|
||||||
CONFIG_SYNTAX_ERROR = "There is a syntax error in your configuration file: %s"
|
CONFIG_SYNTAX_ERROR = "There is a syntax error in your configuration file: %s"
|
||||||
if PY3:
|
if PY3:
|
||||||
@ -302,11 +303,10 @@ class Config(object):
|
|||||||
# correct values of copyright year that are not coherent with
|
# correct values of copyright year that are not coherent with
|
||||||
# the SOURCE_DATE_EPOCH environment variable:
|
# the SOURCE_DATE_EPOCH environment variable:
|
||||||
if getenv('SOURCE_DATE_EPOCH') is not None:
|
if getenv('SOURCE_DATE_EPOCH') is not None:
|
||||||
for k in ['copyright','epub_copyright']:
|
for k in ('copyright','epub_copyright'):
|
||||||
if k in config:
|
if k in config:
|
||||||
config[k] = re.sub('^((\d{4}-)?)(\d{4})(?=[ ,])',
|
config[k] = copyright_year_re.sub('\g<1>%s' % format_date('%Y'),
|
||||||
'\g<1>%s' % format_date('%Y'),
|
config[k])
|
||||||
config[k])
|
|
||||||
|
|
||||||
def check_types(self, warn):
|
def check_types(self, warn):
|
||||||
# check all values for deviation from the default value's type, since
|
# check all values for deviation from the default value's type, since
|
||||||
|
@ -14,34 +14,36 @@ from util import TestApp
|
|||||||
|
|
||||||
|
|
||||||
def test_correct_year():
|
def test_correct_year():
|
||||||
# save current value of SOURCE_DATE_EPOCH
|
try:
|
||||||
sde = os.environ.pop('SOURCE_DATE_EPOCH',None)
|
# save current value of SOURCE_DATE_EPOCH
|
||||||
|
sde = os.environ.pop('SOURCE_DATE_EPOCH',None)
|
||||||
|
|
||||||
# test with SOURCE_DATE_EPOCH unset: no modification
|
# test with SOURCE_DATE_EPOCH unset: no modification
|
||||||
app = TestApp(buildername='html',testroot='correct-year')
|
app = TestApp(buildername='html',testroot='correct-year')
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
content = (app.outdir / 'contents.html').text()
|
content = (app.outdir / 'contents.html').text()
|
||||||
app.cleanup()
|
app.cleanup()
|
||||||
assert '2006-2009' in content
|
assert '2006-2009' in content
|
||||||
|
|
||||||
# test with SOURCE_DATE_EPOCH set: copyright year should be
|
# test with SOURCE_DATE_EPOCH set: copyright year should be
|
||||||
# updated
|
# updated
|
||||||
os.environ['SOURCE_DATE_EPOCH'] = "1293840000"
|
os.environ['SOURCE_DATE_EPOCH'] = "1293840000"
|
||||||
app = TestApp(buildername='html',testroot='correct-year')
|
app = TestApp(buildername='html',testroot='correct-year')
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
content = (app.outdir / 'contents.html').text()
|
content = (app.outdir / 'contents.html').text()
|
||||||
app.cleanup()
|
app.cleanup()
|
||||||
assert '2006-2011' in content
|
assert '2006-2011' in content
|
||||||
|
|
||||||
os.environ['SOURCE_DATE_EPOCH'] = "1293839999"
|
os.environ['SOURCE_DATE_EPOCH'] = "1293839999"
|
||||||
app = TestApp(buildername='html',testroot='correct-year')
|
app = TestApp(buildername='html',testroot='correct-year')
|
||||||
app.builder.build_all()
|
app.builder.build_all()
|
||||||
content = (app.outdir / 'contents.html').text()
|
content = (app.outdir / 'contents.html').text()
|
||||||
app.cleanup()
|
app.cleanup()
|
||||||
assert '2006-2010' in content
|
assert '2006-2010' in content
|
||||||
|
|
||||||
# Restores SOURCE_DATE_EPOCH
|
finally:
|
||||||
if sde == None:
|
# Restores SOURCE_DATE_EPOCH
|
||||||
os.environ.pop('SOURCE_DATE_EPOCH',None)
|
if sde == None:
|
||||||
else:
|
os.environ.pop('SOURCE_DATE_EPOCH',None)
|
||||||
os.environ['SOURCE_DATE_EPOCH'] = sde
|
else:
|
||||||
|
os.environ['SOURCE_DATE_EPOCH'] = sde
|
||||||
|
Loading…
Reference in New Issue
Block a user