diff options
author | Georg Brandl <georg@python.org> | 2012-10-01 17:08:50 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2012-10-01 17:08:50 (GMT) |
commit | 44d0c2156a292b2e9297b2220941e340d4ec32df (patch) | |
tree | b04291a2861bdd652ff92415e70658596d98445f /Doc/tools | |
parent | 8fc6cb35c53657e96cee75f0d8e8a918b93e554b (diff) | |
download | cpython-44d0c2156a292b2e9297b2220941e340d4ec32df.zip cpython-44d0c2156a292b2e9297b2220941e340d4ec32df.tar.gz cpython-44d0c2156a292b2e9297b2220941e340d4ec32df.tar.bz2 |
Several improvements to the HTML NEWS version:
* rename to "Changelog"
* recognize more issue links
* add NEWS as a dependency for Sphinx
Diffstat (limited to 'Doc/tools')
-rw-r--r-- | Doc/tools/sphinxext/pyspecific.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py index 9304461..1808e28 100644 --- a/Doc/tools/sphinxext/pyspecific.py +++ b/Doc/tools/sphinxext/pyspecific.py @@ -149,10 +149,9 @@ class DeprecatedRemoved(Directive): import re import codecs -from docutils.statemachine import string2lines -from sphinx.util.nodes import nested_parse_with_titles -issue_re = re.compile('Issue #([0-9]+)') +issue_re = re.compile('([Ii])ssue #([0-9]+)') +whatsnew_re = re.compile(r"(?im)^what's new in (.*?)\??$") class MiscNews(Directive): has_content = False @@ -166,8 +165,10 @@ class MiscNews(Directive): source = self.state_machine.input_lines.source( self.lineno - self.state_machine.input_offset - 1) source_dir = path.dirname(path.abspath(source)) + fpath = path.join(source_dir, fname) + self.state.document.settings.record_dependencies.add(fpath) try: - fp = codecs.open(path.join(source_dir, fname), encoding='utf-8') + fp = codecs.open(fpath, encoding='utf-8') try: content = fp.read() finally: @@ -176,8 +177,9 @@ class MiscNews(Directive): text = 'The NEWS file is not available.' node = nodes.strong(text, text) return [node] - content = issue_re.sub(r'`Issue #\1 <http://bugs.python.org/\1>`__', + content = issue_re.sub(r'`\1ssue #\2 <http://bugs.python.org/\2>`__', content) + content = whatsnew_re.sub(r'\1', content) # remove first 3 lines as they are the main heading lines = content.splitlines()[3:] self.state_machine.insert_input(lines, fname) |