Merge pull request #9826 from tk0miya/9820_reduce_distutils_usage

Replace distutils.versions.LooseVersion by packaging.version.Version
This commit is contained in:
Takeshi KOMIYA
2021-11-09 00:42:03 +09:00
committed by GitHub
3 changed files with 10 additions and 9 deletions

View File

@@ -8,11 +8,11 @@
:license: BSD, see LICENSE for details. :license: BSD, see LICENSE for details.
""" """
from distutils.version import LooseVersion
from functools import partial from functools import partial
from importlib import import_module from importlib import import_module
from typing import Any, Dict from typing import Any, Dict
from packaging import version
from pygments import __version__ as pygmentsversion from pygments import __version__ as pygmentsversion
from pygments import highlight from pygments import highlight
from pygments.filters import ErrorToken from pygments.filters import ErrorToken
@@ -64,7 +64,7 @@ _LATEX_ADD_STYLES_FIXPYG = r'''
{\let\fcolorbox\spx@fixpyg@fcolorbox\PYG@do{#2}}} {\let\fcolorbox\spx@fixpyg@fcolorbox\PYG@do{#2}}}
\makeatother \makeatother
''' '''
if tuple(LooseVersion(pygmentsversion).version) <= (2, 7, 4): if version.parse(pygmentsversion).release <= (2, 7, 4):
_LATEX_ADD_STYLES += _LATEX_ADD_STYLES_FIXPYG _LATEX_ADD_STYLES += _LATEX_ADD_STYLES_FIXPYG

View File

@@ -12,7 +12,6 @@ import os
import re import re
from contextlib import contextmanager from contextlib import contextmanager
from copy import copy from copy import copy
from distutils.version import LooseVersion
from os import path from os import path
from types import ModuleType from types import ModuleType
from typing import (IO, TYPE_CHECKING, Any, Callable, Dict, Generator, List, Optional, Set, from typing import (IO, TYPE_CHECKING, Any, Callable, Dict, Generator, List, Optional, Set,
@@ -26,6 +25,7 @@ from docutils.parsers.rst import Directive, directives, roles
from docutils.parsers.rst.states import Inliner from docutils.parsers.rst.states import Inliner
from docutils.statemachine import State, StateMachine, StringList from docutils.statemachine import State, StateMachine, StringList
from docutils.utils import Reporter, unescape from docutils.utils import Reporter, unescape
from packaging import version
from sphinx.errors import SphinxError from sphinx.errors import SphinxError
from sphinx.locale import _ from sphinx.locale import _
@@ -41,7 +41,7 @@ if TYPE_CHECKING:
from sphinx.environment import BuildEnvironment from sphinx.environment import BuildEnvironment
__version_info__ = tuple(LooseVersion(docutils.__version__).version) __version_info__ = version.parse(docutils.__version__).release
additional_nodes: Set[Type[Element]] = set() additional_nodes: Set[Type[Element]] = set()

View File

@@ -10,13 +10,13 @@
import os import os
import re import re
from distutils.version import LooseVersion
from itertools import chain, cycle from itertools import chain, cycle
from unittest.mock import ANY, call, patch from unittest.mock import ANY, call, patch
import pygments import pygments
import pytest import pytest
from html5lib import HTMLParser from html5lib import HTMLParser
from packaging import version
from sphinx.builders.html import validate_html_extra_path, validate_html_static_path from sphinx.builders.html import validate_html_extra_path, validate_html_static_path
from sphinx.errors import ConfigError from sphinx.errors import ConfigError
@@ -30,6 +30,9 @@ else:
FIGURE_CAPTION = ".//figure/figcaption/p" FIGURE_CAPTION = ".//figure/figcaption/p"
PYGMENTS_VERSION = version.parse(pygments.__version__).release
ENV_WARNINGS = """\ ENV_WARNINGS = """\
%(root)s/autodoc_fodder.py:docstring of autodoc_fodder.MarkupError:\\d+: \ %(root)s/autodoc_fodder.py:docstring of autodoc_fodder.MarkupError:\\d+: \
WARNING: Explicit markup ends without a blank line; unexpected unindent. WARNING: Explicit markup ends without a blank line; unexpected unindent.
@@ -1576,8 +1579,7 @@ def test_html_codeblock_linenos_style_table(app):
app.build() app.build()
content = (app.outdir / 'index.html').read_text() content = (app.outdir / 'index.html').read_text()
pygments_version = tuple(LooseVersion(pygments.__version__).version) if PYGMENTS_VERSION >= (2, 8):
if pygments_version >= (2, 8):
assert ('<div class="linenodiv"><pre><span class="normal">1</span>\n' assert ('<div class="linenodiv"><pre><span class="normal">1</span>\n'
'<span class="normal">2</span>\n' '<span class="normal">2</span>\n'
'<span class="normal">3</span>\n' '<span class="normal">3</span>\n'
@@ -1592,8 +1594,7 @@ def test_html_codeblock_linenos_style_inline(app):
app.build() app.build()
content = (app.outdir / 'index.html').read_text() content = (app.outdir / 'index.html').read_text()
pygments_version = tuple(LooseVersion(pygments.__version__).version) if PYGMENTS_VERSION > (2, 7):
if pygments_version > (2, 7):
assert '<span class="linenos">1</span>' in content assert '<span class="linenos">1</span>' in content
else: else:
assert '<span class="lineno">1 </span>' in content assert '<span class="lineno">1 </span>' in content