Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1b73683

Browse files
gh-101845: pyspecific: Fix i18n for availability directive (GH-101846)
pyspecific: Fix i18n for availability directiveIf the directive has content, the previous code would nest paragraphnodes from that content inside a general paragraph node, which confusesSphinx and leads it to drop the content when translating. Instead, use acontainer node for the body.Also use set_source_info so that any warnings have location info.(cherry picked from commit6ef6915)Co-authored-by: Jean Abou-Samra <jean@abou-samra.fr>
1 parentcec99ed commit1b73683

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

‎Doc/tools/extensions/pyspecific.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
fromsphinx.environmentimportNoUri
2929
fromsphinx.localeimport_assphinx_gettext
3030
fromsphinx.utilimportstatus_iterator,logging
31+
fromsphinx.util.docutilsimportSphinxDirective
3132
fromsphinx.util.nodesimportsplit_explicit_title
3233
fromsphinx.writers.textimportTextWriter,TextTranslator
3334
fromsphinx.writers.lateximportLaTeXTranslator
@@ -124,7 +125,7 @@ def run(self):
124125

125126
# Support for documenting platform availability
126127

127-
classAvailability(Directive):
128+
classAvailability(SphinxDirective):
128129

129130
has_content=True
130131
required_arguments=1
@@ -144,18 +145,19 @@ class Availability(Directive):
144145

145146
defrun(self):
146147
availability_ref=':ref:`Availability <availability>`: '
148+
avail_nodes,avail_msgs=self.state.inline_text(
149+
availability_ref+self.arguments[0],
150+
self.lineno)
147151
pnode=nodes.paragraph(availability_ref+self.arguments[0],
148-
classes=["availability"],)
149-
n,m=self.state.inline_text(availability_ref,self.lineno)
150-
pnode.extend(n+m)
151-
n,m=self.state.inline_text(self.arguments[0],self.lineno)
152-
pnode.extend(n+m)
152+
'',*avail_nodes,*avail_msgs)
153+
self.set_source_info(pnode)
154+
cnode=nodes.container("",pnode,classes=["availability"])
155+
self.set_source_info(cnode)
153156
ifself.content:
154-
self.state.nested_parse(self.content,self.content_offset,pnode)
155-
157+
self.state.nested_parse(self.content,self.content_offset,cnode)
156158
self.parse_platforms()
157159

158-
return [pnode]
160+
return [cnode]
159161

160162
defparse_platforms(self):
161163
"""Parse platform information from arguments

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp