Skip to content

Commit 08ee8e5

Browse files
committed
Fix type annotations (for jinja2)
Jinja2 starts to bundle its typehints since v3.0. As a result, mypy warns "ignore" hint is needless. This removes them all to keep it valid.
1 parent bb2c662 commit 08ee8e5

File tree

4 files changed

+20
-9
lines changed

4 files changed

+20
-9
lines changed

sphinx/jinja2glue.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
from sphinx.util import logging
2323
from sphinx.util.osutil import mtimes_of_files
2424

25+
try:
26+
from jinja2.utils import pass_context
27+
except ImportError:
28+
from jinja2 import contextfunction as pass_context
29+
2530
if TYPE_CHECKING:
2631
from sphinx.builders import Builder
2732

sphinx/util/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def save_traceback(app: "Sphinx") -> str:
235235
platform.python_version(),
236236
platform.python_implementation(),
237237
docutils.__version__, docutils.__version_details__,
238-
jinja2.__version__, # type: ignore
238+
jinja2.__version__,
239239
last_msgs)).encode())
240240
if app is not None:
241241
for ext in app.extensions.values():

sphinx/util/rst.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
from sphinx.locale import __
2424
from sphinx.util import docutils, logging
2525

26+
try:
27+
from jinja2.utils import pass_environment
28+
except ImportError:
29+
from jinja2 import environmentfilter as pass_environment
30+
31+
2632
logger = logging.getLogger(__name__)
2733

2834
docinfo_re = re.compile(':\\w+:.*?')
@@ -55,7 +61,7 @@ def charwidth(char: str, widechars: str) -> int:
5561
def heading(env: Environment, text: str, level: int = 1) -> str:
5662
"""Create a heading for *level*."""
5763
assert level <= 3
58-
width = textwidth(text, WIDECHARS[env.language]) # type: ignore
64+
width = textwidth(text, WIDECHARS[env.language])
5965
sectioning_char = SECTIONING_CHARS[level - 1]
6066
return '%s\n%s' % (text, sectioning_char * width)
6167

sphinx/util/tags.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,18 @@ def eval_condition(self, condition: str) -> bool:
6969

7070
def eval_node(node: Node) -> bool:
7171
if isinstance(node, nodes.CondExpr):
72-
if eval_node(node.test): # type: ignore
73-
return eval_node(node.expr1) # type: ignore
72+
if eval_node(node.test):
73+
return eval_node(node.expr1)
7474
else:
75-
return eval_node(node.expr2) # type: ignore
75+
return eval_node(node.expr2)
7676
elif isinstance(node, nodes.And):
77-
return eval_node(node.left) and eval_node(node.right) # type: ignore
77+
return eval_node(node.left) and eval_node(node.right)
7878
elif isinstance(node, nodes.Or):
79-
return eval_node(node.left) or eval_node(node.right) # type: ignore
79+
return eval_node(node.left) or eval_node(node.right)
8080
elif isinstance(node, nodes.Not):
81-
return not eval_node(node.node) # type: ignore
81+
return not eval_node(node.node)
8282
elif isinstance(node, nodes.Name):
83-
return self.tags.get(node.name, False) # type: ignore
83+
return self.tags.get(node.name, False)
8484
else:
8585
raise ValueError('invalid node, check parsing')
8686

0 commit comments

Comments
 (0)