[Python-checkins] cpython (3.3): fix deprecated-removed directive with sphinx 1.2

georg.brandl python-checkins at python.org
Tue Jan 21 19:20:48 CET 2014


http://hg.python.org/cpython/rev/5d1324b20804
changeset: 88608:5d1324b20804
branch: 3.3
parent: 88605:4a505a901b2e
user: Georg Brandl <georg at python.org>
date: Tue Jan 21 19:20:31 2014 +0100
summary:
 fix deprecated-removed directive with sphinx 1.2
files:
 Doc/tools/sphinxext/pyspecific.py | 32 +++++++++++----
 Doc/tools/sphinxext/static/basic.css | 2 +-
 2 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py
--- a/Doc/tools/sphinxext/pyspecific.py
+++ b/Doc/tools/sphinxext/pyspecific.py
@@ -5,7 +5,7 @@
 
 Sphinx extension with Python doc-specific markup.
 
- :copyright: 2008-2013 by Georg Brandl.
+ :copyright: 2008-2014 by Georg Brandl.
 :license: Python license.
 """
 
@@ -145,8 +145,6 @@
 from sphinx.locale import versionlabels
 from sphinx.util.compat import Directive
 
-versionlabels['deprecated-removed'] = \
- 'Deprecated since version %s, will be removed in version %s'
 
 class DeprecatedRemoved(Directive):
 has_content = True
@@ -155,24 +153,40 @@
 final_argument_whitespace = True
 option_spec = {}
 
+ _label = 'Deprecated since version %s, will be removed in version %s'
+
 def run(self):
 node = addnodes.versionmodified()
 node.document = self.state.document
 node['type'] = 'deprecated-removed'
 version = (self.arguments[0], self.arguments[1])
 node['version'] = version
+ text = self._label % version
 if len(self.arguments) == 3:
 inodes, messages = self.state.inline_text(self.arguments[2],
 self.lineno+1)
- node.extend(inodes)
- if self.content:
- self.state.nested_parse(self.content, self.content_offset, node)
- ret = [node] + messages
+ para = nodes.paragraph(self.arguments[2], '', *inodes)
+ node.append(para)
 else:
- ret = [node]
+ messages = []
+ if self.content:
+ self.state.nested_parse(self.content, self.content_offset, node)
+ if len(node):
+ if isinstance(node[0], nodes.paragraph) and node[0].rawsource:
+ content = nodes.inline(node[0].rawsource, translatable=True)
+ content.source = node[0].source
+ content.line = node[0].line
+ content += node[0].children
+ node[0].replace_self(nodes.paragraph('', '', content))
+ node[0].insert(0, nodes.inline('', '%s: ' % text,
+ classes=['versionmodified']))
+ else:
+ para = nodes.paragraph('', '',
+ nodes.inline('', '%s.' % text, classes=['versionmodified']))
+ node.append(para)
 env = self.state.document.settings.env
 env.note_versionchange('deprecated', version[0], node, self.lineno)
- return ret
+ return [node] + messages
 
 
 # Support for including Misc/NEWS
diff --git a/Doc/tools/sphinxext/static/basic.css b/Doc/tools/sphinxext/static/basic.css
--- a/Doc/tools/sphinxext/static/basic.css
+++ b/Doc/tools/sphinxext/static/basic.css
@@ -342,7 +342,7 @@
 padding: 7px;
 }
 
-div.deprecated p {
+div.deprecated p, div.deprecated-removed p {
 margin-bottom: 0;
 }
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /