Skip to content

Commit 3601161

Browse files
Bump types-docutils to 0.21.0.20250525 (#13630)
Co-authored-by: Adam Dangoor <[email protected]>
1 parent 0521d83 commit 3601161

File tree

6 files changed

+57
-57
lines changed

6 files changed

+57
-57
lines changed

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ lint = [
9797
"sphinx-lint>=0.9",
9898
"types-colorama==0.4.15.20240311",
9999
"types-defusedxml==0.7.0.20250516",
100-
"types-docutils==0.21.0.20250514",
100+
"types-docutils==0.21.0.20250525",
101101
"types-Pillow==10.2.0.20240822",
102102
"types-Pygments==2.19.0.20250516",
103103
"types-requests==2.32.0.20250602", # align with requests
@@ -166,7 +166,7 @@ type-stubs = [
166166
# align with versions used elsewhere
167167
"types-colorama==0.4.15.20240311",
168168
"types-defusedxml==0.7.0.20250516",
169-
"types-docutils==0.21.0.20250514",
169+
"types-docutils==0.21.0.20250525",
170170
"types-Pillow==10.2.0.20240822",
171171
"types-Pygments==2.19.0.20250516",
172172
"types-requests==2.32.0.20250602",

sphinx/builders/_epub_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ class NavPoint(NamedTuple):
114114

115115
def sphinx_smarty_pants(t: str, language: str = 'en') -> str:
116116
t = t.replace('&quot;', '"')
117-
t = smartquotes.educateDashesOldSchool(t) # type: ignore[no-untyped-call]
118-
t = smartquotes.educateQuotes(t, language) # type: ignore[no-untyped-call]
117+
t = smartquotes.educateDashesOldSchool(t)
118+
t = smartquotes.educateQuotes(t, language)
119119
t = t.replace('"', '&quot;')
120120
return t
121121

sphinx/util/rst.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from unicodedata import east_asian_width
1010

1111
from docutils.parsers.rst import roles
12-
from docutils.parsers.rst.languages import en as english # type: ignore[attr-defined]
12+
from docutils.parsers.rst.languages import en as english
1313
from docutils.parsers.rst.states import Body
1414
from docutils.utils import Reporter
1515
from jinja2 import pass_environment
@@ -66,7 +66,7 @@ def heading(env: Environment, text: str, level: int = 1) -> str:
6666
def default_role(docname: str, name: str) -> Iterator[None]:
6767
if name:
6868
dummy_reporter = Reporter('', 4, 4)
69-
role_fn, _ = roles.role(name, english, 0, dummy_reporter)
69+
role_fn, _ = roles.role(name, english, 0, dummy_reporter) # type: ignore[arg-type]
7070
if role_fn:
7171
docutils.register_role('', role_fn) # type: ignore[arg-type]
7272
else:

sphinx/writers/html5.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ def visit_reference(self, node: Element) -> None:
357357
def visit_number_reference(self, node: Element) -> None:
358358
self.visit_reference(node)
359359

360-
def depart_number_reference(self, node: Element) -> None:
360+
def depart_number_reference(self, node: nodes.reference) -> None:
361361
self.depart_reference(node)
362362

363363
# overwritten -- we don't want source comments to show up in the HTML
@@ -451,7 +451,7 @@ def add_permalink_ref(self, node: Element, title: str) -> None:
451451
)
452452

453453
# overwritten
454-
def visit_bullet_list(self, node: Element) -> None:
454+
def visit_bullet_list(self, node: nodes.bullet_list) -> None:
455455
if len(node) == 1 and isinstance(node[0], addnodes.toctree):
456456
# avoid emitting empty <ul></ul>
457457
raise nodes.SkipNode
@@ -498,7 +498,7 @@ def depart_term(self, node: Element) -> None:
498498
self.body.append('</dt>')
499499

500500
# overwritten
501-
def visit_title(self, node: Element) -> None:
501+
def visit_title(self, node: nodes.title) -> None:
502502
if (
503503
isinstance(node.parent, addnodes.compact_paragraph)
504504
and node.parent.get('toctree')
@@ -535,7 +535,7 @@ def visit_title(self, node: Element) -> None:
535535
self.body.pop()
536536
self.context[-1] = '</p>\n'
537537

538-
def depart_title(self, node: Element) -> None:
538+
def depart_title(self, node: nodes.title) -> None:
539539
close_tag = self.context[-1]
540540
if (
541541
self.config.html_permalinks
@@ -586,7 +586,7 @@ def depart_rubric(self, node: nodes.rubric) -> None:
586586
super().depart_rubric(node)
587587

588588
# overwritten
589-
def visit_literal_block(self, node: Element) -> None:
589+
def visit_literal_block(self, node: nodes.literal_block) -> None:
590590
if node.rawsource != node.astext():
591591
# most probably a parsed-literal block -- don't highlight
592592
return super().visit_literal_block(node)
@@ -614,7 +614,7 @@ def visit_literal_block(self, node: Element) -> None:
614614
self.body.append(starttag + highlighted + '</div>\n')
615615
raise nodes.SkipNode
616616

617-
def visit_caption(self, node: Element) -> None:
617+
def visit_caption(self, node: nodes.caption) -> None:
618618
if (
619619
isinstance(node.parent, nodes.container)
620620
and node.parent.get('literal_block')
@@ -625,7 +625,7 @@ def visit_caption(self, node: Element) -> None:
625625
self.add_fignumber(node.parent)
626626
self.body.append(self.starttag(node, 'span', '', CLASS='caption-text'))
627627

628-
def depart_caption(self, node: Element) -> None:
628+
def depart_caption(self, node: nodes.caption) -> None:
629629
self.body.append('</span>')
630630

631631
# append permalink if available
@@ -648,7 +648,7 @@ def depart_caption(self, node: Element) -> None:
648648
super().depart_caption(node)
649649

650650
def visit_doctest_block(self, node: Element) -> None:
651-
self.visit_literal_block(node)
651+
self.visit_literal_block(node) # type: ignore[arg-type]
652652

653653
# overwritten to add the <div> (for XHTML compliance)
654654
def visit_block_quote(self, node: Element) -> None:
@@ -740,14 +740,14 @@ def depart_download_reference(self, node: Element) -> None:
740740
self.body.append(self.context.pop())
741741

742742
# overwritten
743-
def visit_figure(self, node: Element) -> None:
743+
def visit_figure(self, node: nodes.figure) -> None:
744744
# set align=default if align not specified to give a default style
745745
node.setdefault('align', 'default')
746746

747747
return super().visit_figure(node)
748748

749749
# overwritten
750-
def visit_image(self, node: Element) -> None:
750+
def visit_image(self, node: nodes.image) -> None:
751751
olduri = node['uri']
752752
# rewrite the URI if the environment knows about it
753753
if olduri in self.builder.images:
@@ -775,7 +775,7 @@ def visit_image(self, node: Element) -> None:
775775
super().visit_image(node)
776776

777777
# overwritten
778-
def depart_image(self, node: Element) -> None:
778+
def depart_image(self, node: nodes.image) -> None:
779779
if node['uri'].lower().endswith(('svg', 'svgz')):
780780
pass
781781
else:
@@ -892,16 +892,16 @@ def visit_tip(self, node: Element) -> None:
892892
def depart_tip(self, node: Element) -> None:
893893
self.depart_admonition(node)
894894

895-
def visit_literal_emphasis(self, node: Element) -> None:
895+
def visit_literal_emphasis(self, node: nodes.emphasis) -> None:
896896
return self.visit_emphasis(node)
897897

898-
def depart_literal_emphasis(self, node: Element) -> None:
898+
def depart_literal_emphasis(self, node: nodes.emphasis) -> None:
899899
return self.depart_emphasis(node)
900900

901-
def visit_literal_strong(self, node: Element) -> None:
901+
def visit_literal_strong(self, node: nodes.strong) -> None:
902902
return self.visit_strong(node)
903903

904-
def depart_literal_strong(self, node: Element) -> None:
904+
def depart_literal_strong(self, node: nodes.strong) -> None:
905905
return self.depart_strong(node)
906906

907907
def visit_abbreviation(self, node: Element) -> None:
@@ -913,15 +913,15 @@ def visit_abbreviation(self, node: Element) -> None:
913913
def depart_abbreviation(self, node: Element) -> None:
914914
self.body.append('</abbr>')
915915

916-
def visit_manpage(self, node: Element) -> None:
916+
def visit_manpage(self, node: nodes.emphasis) -> None:
917917
self.visit_literal_emphasis(node)
918918

919-
def depart_manpage(self, node: Element) -> None:
919+
def depart_manpage(self, node: nodes.emphasis) -> None:
920920
self.depart_literal_emphasis(node)
921921

922922
# overwritten to add even/odd classes
923923

924-
def visit_table(self, node: Element) -> None:
924+
def visit_table(self, node: nodes.table) -> None:
925925
self._table_row_indices.append(0)
926926

927927
atts = {}
@@ -936,7 +936,7 @@ def visit_table(self, node: Element) -> None:
936936
tag = self.starttag(node, 'table', CLASS=' '.join(classes), **atts)
937937
self.body.append(tag)
938938

939-
def depart_table(self, node: Element) -> None:
939+
def depart_table(self, node: nodes.table) -> None:
940940
self._table_row_indices.pop()
941941
super().depart_table(node)
942942

@@ -949,11 +949,11 @@ def visit_row(self, node: Element) -> None:
949949
self.body.append(self.starttag(node, 'tr', ''))
950950
node.column = 0 # type: ignore[attr-defined]
951951

952-
def visit_field_list(self, node: Element) -> None:
952+
def visit_field_list(self, node: nodes.field_list) -> None:
953953
self._fieldlist_row_indices.append(0)
954954
return super().visit_field_list(node)
955955

956-
def depart_field_list(self, node: Element) -> None:
956+
def depart_field_list(self, node: nodes.field_list) -> None:
957957
self._fieldlist_row_indices.pop()
958958
return super().depart_field_list(node)
959959

sphinx/writers/manpage.py

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def apply(self, **kwargs: Any) -> None:
7171
node.parent.remove(node)
7272

7373

74-
class ManualPageTranslator(SphinxTranslator, BaseTranslator): # type: ignore[misc]
74+
class ManualPageTranslator(SphinxTranslator, BaseTranslator):
7575
"""Custom man page translator."""
7676

7777
_docinfo: dict[str, Any] = {}
@@ -130,17 +130,17 @@ def depart_start_of_file(self, node: Element) -> None:
130130
# Top-level nodes for descriptions
131131
##################################
132132

133-
def visit_desc(self, node: Element) -> None:
133+
def visit_desc(self, node: nodes.definition_list) -> None:
134134
self.visit_definition_list(node)
135135

136-
def depart_desc(self, node: Element) -> None:
136+
def depart_desc(self, node: nodes.definition_list) -> None:
137137
self.depart_definition_list(node)
138138

139-
def visit_desc_signature(self, node: Element) -> None:
140-
self.visit_definition_list_item(node)
139+
def visit_desc_signature(self, node: nodes.term) -> None:
140+
self.visit_definition_list_item(node) # type: ignore[arg-type]
141141
self.visit_term(node)
142142

143-
def depart_desc_signature(self, node: Element) -> None:
143+
def depart_desc_signature(self, node: nodes.term) -> None:
144144
self.depart_term(node)
145145

146146
def visit_desc_signature_line(self, node: Element) -> None:
@@ -149,10 +149,10 @@ def visit_desc_signature_line(self, node: Element) -> None:
149149
def depart_desc_signature_line(self, node: Element) -> None:
150150
self.body.append(' ')
151151

152-
def visit_desc_content(self, node: Element) -> None:
152+
def visit_desc_content(self, node: nodes.definition) -> None:
153153
self.visit_definition(node)
154154

155-
def depart_desc_content(self, node: Element) -> None:
155+
def depart_desc_content(self, node: nodes.definition) -> None:
156156
self.depart_definition(node)
157157

158158
def visit_desc_inline(self, node: Element) -> None:
@@ -231,25 +231,25 @@ def depart_desc_annotation(self, node: Element) -> None:
231231

232232
##############################################
233233

234-
def visit_versionmodified(self, node: Element) -> None:
234+
def visit_versionmodified(self, node: nodes.paragraph) -> None:
235235
self.visit_paragraph(node)
236236

237-
def depart_versionmodified(self, node: Element) -> None:
237+
def depart_versionmodified(self, node: nodes.paragraph) -> None:
238238
self.depart_paragraph(node)
239239

240240
# overwritten -- don't make whole of term bold if it includes strong node
241-
def visit_term(self, node: Element) -> None:
241+
def visit_term(self, node: nodes.term) -> None:
242242
if any(node.findall(nodes.strong)):
243243
self.body.append('\n')
244244
else:
245245
super().visit_term(node)
246246

247247
# overwritten -- we don't want source comments to show up
248-
def visit_comment(self, node: Element) -> None:
248+
def visit_comment(self, node: Element) -> None: # type: ignore[override]
249249
raise nodes.SkipNode
250250

251251
# overwritten -- added ensure_eol()
252-
def visit_footnote(self, node: Element) -> None:
252+
def visit_footnote(self, node: nodes.footnote) -> None:
253253
self.ensure_eol()
254254
super().visit_footnote(node)
255255

@@ -264,10 +264,10 @@ def visit_rubric(self, node: Element) -> None:
264264
def depart_rubric(self, node: Element) -> None:
265265
self.body.append('\n')
266266

267-
def visit_seealso(self, node: Element) -> None:
267+
def visit_seealso(self, node: nodes.admonition) -> None:
268268
self.visit_admonition(node, 'seealso')
269269

270-
def depart_seealso(self, node: Element) -> None:
270+
def depart_seealso(self, node: nodes.admonition) -> None:
271271
self.depart_admonition(node)
272272

273273
def visit_productionlist(self, node: Element) -> None:
@@ -291,7 +291,7 @@ def visit_image(self, node: Element) -> None:
291291
raise nodes.SkipNode
292292

293293
# overwritten -- don't visit inner marked up nodes
294-
def visit_reference(self, node: Element) -> None:
294+
def visit_reference(self, node: nodes.reference) -> None:
295295
uri = node.get('refuri', '')
296296
is_safe_to_click = uri.startswith(('mailto:', 'http:', 'https:', 'ftp:'))
297297
if is_safe_to_click:
@@ -301,7 +301,7 @@ def visit_reference(self, node: Element) -> None:
301301
self.body.append(self.defs['reference'][0])
302302
# avoid repeating escaping code... fine since
303303
# visit_Text calls astext() and only works on that afterwards
304-
self.visit_Text(node)
304+
self.visit_Text(node) # type: ignore[arg-type]
305305
self.body.append(self.defs['reference'][1])
306306

307307
if uri and not uri.startswith('#'):
@@ -369,10 +369,10 @@ def visit_acks(self, node: Element) -> None:
369369
self.body.append('\n')
370370
raise nodes.SkipNode
371371

372-
def visit_hlist(self, node: Element) -> None:
372+
def visit_hlist(self, node: nodes.bullet_list) -> None:
373373
self.visit_bullet_list(node)
374374

375-
def depart_hlist(self, node: Element) -> None:
375+
def depart_hlist(self, node: nodes.bullet_list) -> None:
376376
self.depart_bullet_list(node)
377377

378378
def visit_hlistcol(self, node: Element) -> None:
@@ -381,16 +381,16 @@ def visit_hlistcol(self, node: Element) -> None:
381381
def depart_hlistcol(self, node: Element) -> None:
382382
pass
383383

384-
def visit_literal_emphasis(self, node: Element) -> None:
384+
def visit_literal_emphasis(self, node: nodes.emphasis) -> None:
385385
return self.visit_emphasis(node)
386386

387-
def depart_literal_emphasis(self, node: Element) -> None:
387+
def depart_literal_emphasis(self, node: nodes.emphasis) -> None:
388388
return self.depart_emphasis(node)
389389

390-
def visit_literal_strong(self, node: Element) -> None:
390+
def visit_literal_strong(self, node: nodes.strong) -> None:
391391
return self.visit_strong(node)
392392

393-
def depart_literal_strong(self, node: Element) -> None:
393+
def depart_literal_strong(self, node: nodes.strong) -> None:
394394
return self.depart_strong(node)
395395

396396
def visit_abbreviation(self, node: Element) -> None:
@@ -399,14 +399,14 @@ def visit_abbreviation(self, node: Element) -> None:
399399
def depart_abbreviation(self, node: Element) -> None:
400400
pass
401401

402-
def visit_manpage(self, node: Element) -> None:
402+
def visit_manpage(self, node: nodes.strong) -> None:
403403
return self.visit_strong(node)
404404

405-
def depart_manpage(self, node: Element) -> None:
405+
def depart_manpage(self, node: nodes.strong) -> None:
406406
return self.depart_strong(node)
407407

408408
# overwritten: handle section titles better than in 0.6 release
409-
def visit_caption(self, node: Element) -> None:
409+
def visit_caption(self, node: nodes.caption) -> None:
410410
if (
411411
isinstance(node.parent, nodes.container)
412412
and node.parent.get('literal_block')
@@ -415,7 +415,7 @@ def visit_caption(self, node: Element) -> None:
415415
else:
416416
super().visit_caption(node)
417417

418-
def depart_caption(self, node: Element) -> None:
418+
def depart_caption(self, node: nodes.caption) -> None:
419419
if (
420420
isinstance(node.parent, nodes.container)
421421
and node.parent.get('literal_block')
@@ -425,7 +425,7 @@ def depart_caption(self, node: Element) -> None:
425425
super().depart_caption(node)
426426

427427
# overwritten: handle section titles better than in 0.6 release
428-
def visit_title(self, node: Element) -> None:
428+
def visit_title(self, node: nodes.title) -> None:
429429
if isinstance(node.parent, addnodes.seealso):
430430
self.body.append('.IP "')
431431
return None
@@ -438,7 +438,7 @@ def visit_title(self, node: Element) -> None:
438438
raise nodes.SkipNode
439439
return super().visit_title(node)
440440

441-
def depart_title(self, node: Element) -> None:
441+
def depart_title(self, node: nodes.title) -> None:
442442
if isinstance(node.parent, addnodes.seealso):
443443
self.body.append('"\n')
444444
return None

0 commit comments

Comments
 (0)