Replace distutils.version with packaging.version.parse, distutils will eventually be removed from stdlib

This commit is contained in:
nulano 2020-07-22 23:48:17 +02:00
parent a4ca3ca560
commit 97871205c2
2 changed files with 9 additions and 6 deletions

View File

@ -798,9 +798,11 @@ class TestImageFont:
def test_anchor(self, anchor, left, left_raqm, top): def test_anchor(self, anchor, left, left_raqm, top):
name, text = "quick", "Quick" name, text = "quick", "Quick"
target = "Tests/images/test_anchor_%s_%s.png" % (name, anchor) target = "Tests/images/test_anchor_%s_%s.png" % (name, anchor)
freetype = distutils.version.StrictVersion(ImageFont.core.freetype2_version) freetype = parse_version(features.version_module("freetype2"))
if self.LAYOUT_ENGINE == ImageFont.LAYOUT_RAQM or freetype < "2.4": if self.LAYOUT_ENGINE == ImageFont.LAYOUT_RAQM or freetype < parse_version(
"2.4"
):
width, height = (129, 44) width, height = (129, 44)
left = left_raqm left = left_raqm
else: else:
@ -871,7 +873,7 @@ class TestImageFont_RaqmLayout(TestImageFont):
def test_render_mono_size(): def test_render_mono_size():
# issue 4177 # issue 4177
if parse_version(ImageFont.core.freetype2_version) < parse_version("2.4"): if parse_version(features.version_module("freetype2")) < parse_version("2.4"):
pytest.skip("Different metrics") pytest.skip("Different metrics")
im = Image.new("P", (100, 30), "white") im = Image.new("P", (100, 30), "white")

View File

@ -1,7 +1,8 @@
import distutils.version import distutils.version
import pytest import pytest
from PIL import Image, ImageDraw, ImageFont from packaging.version import parse as parse_version
from PIL import Image, ImageDraw, ImageFont, features
from .helper import assert_image_similar, skip_unless_feature from .helper import assert_image_similar, skip_unless_feature
@ -262,7 +263,7 @@ def test_getlength_combine(mode, direction, text):
@pytest.mark.parametrize("anchor", ("lt", "mm", "rb", "sm")) @pytest.mark.parametrize("anchor", ("lt", "mm", "rb", "sm"))
def test_anchor_ttb(anchor): def test_anchor_ttb(anchor):
if distutils.version.StrictVersion(ImageFont.core.freetype2_version) < "2.5.1": if parse_version(features.version_module("freetype2")) < parse_version("2.5.1"):
# FreeType 2.5.1 README: Miscellaneous Changes: # FreeType 2.5.1 README: Miscellaneous Changes:
# Improved computation of emulated vertical metrics for TrueType fonts. # Improved computation of emulated vertical metrics for TrueType fonts.
pytest.skip("FreeType <2.5.1 has incompatible ttb metrics") pytest.skip("FreeType <2.5.1 has incompatible ttb metrics")
@ -325,7 +326,7 @@ combine_tests = (
) )
def test_combine(name, text, dir, anchor, epsilon): def test_combine(name, text, dir, anchor, epsilon):
if ( if (
distutils.version.StrictVersion(ImageFont.core.freetype2_version) < "2.5.1" parse_version(features.version_module("freetype2")) < parse_version("2.5.1")
and dir == "ttb" and dir == "ttb"
): ):
# FreeType 2.5.1 README: Miscellaneous Changes: # FreeType 2.5.1 README: Miscellaneous Changes: