mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
merge with 3.3
This commit is contained in:
commit
7ef90a1a37
5 changed files with 83 additions and 3 deletions
|
|
@ -145,6 +145,45 @@ class DeprecatedRemoved(Directive):
|
|||
return ret
|
||||
|
||||
|
||||
# Support for including Misc/NEWS
|
||||
|
||||
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]+)')
|
||||
|
||||
class MiscNews(Directive):
|
||||
has_content = False
|
||||
required_arguments = 1
|
||||
optional_arguments = 0
|
||||
final_argument_whitespace = False
|
||||
option_spec = {}
|
||||
|
||||
def run(self):
|
||||
fname = self.arguments[0]
|
||||
source = self.state_machine.input_lines.source(
|
||||
self.lineno - self.state_machine.input_offset - 1)
|
||||
source_dir = path.dirname(path.abspath(source))
|
||||
try:
|
||||
fp = codecs.open(path.join(source_dir, fname), encoding='utf-8')
|
||||
try:
|
||||
content = fp.read()
|
||||
finally:
|
||||
fp.close()
|
||||
except Exception:
|
||||
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)
|
||||
# remove first 3 lines as they are the main heading
|
||||
lines = content.splitlines()[3:]
|
||||
self.state_machine.insert_input(lines, fname)
|
||||
return []
|
||||
|
||||
|
||||
# Support for building "topic help" for pydoc
|
||||
|
||||
pydoc_topic_labels = [
|
||||
|
|
@ -276,3 +315,4 @@ def setup(app):
|
|||
app.add_description_unit('2to3fixer', '2to3fixer', '%s (2to3 fixer)')
|
||||
app.add_directive_to_domain('py', 'decorator', PyDecoratorFunction)
|
||||
app.add_directive_to_domain('py', 'decoratormethod', PyDecoratorMethod)
|
||||
app.add_directive('miscnews', MiscNews)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue