From afbf45055a8e938aacb28cb412cad125a1e29a4f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 11 Oct 2024 20:59:15 +1100 Subject: [PATCH] Always raise warnings for deprecated feature checks --- Tests/test_features.py | 6 +++--- src/PIL/features.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Tests/test_features.py b/Tests/test_features.py index 80778284773..ed792997376 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -56,17 +56,17 @@ def test(name: str, function: Callable[[str], str | None]) -> None: def test_webp_transparency() -> None: with pytest.warns(DeprecationWarning): - assert features.check("transp_webp") == features.check_module("webp") + assert (features.check("transp_webp") or False) == features.check_module("webp") def test_webp_mux() -> None: with pytest.warns(DeprecationWarning): - assert features.check("webp_mux") == features.check_module("webp") + assert (features.check("webp_mux") or False) == features.check_module("webp") def test_webp_anim() -> None: with pytest.warns(DeprecationWarning): - assert features.check("webp_anim") == features.check_module("webp") + assert (features.check("webp_anim") or False) == features.check_module("webp") @skip_unless_feature("libjpeg_turbo") diff --git a/src/PIL/features.py b/src/PIL/features.py index 24c5ee978b3..75d59e01c40 100644 --- a/src/PIL/features.py +++ b/src/PIL/features.py @@ -146,10 +146,11 @@ def check_feature(feature: str) -> bool | None: module, flag, ver = features[feature] + if isinstance(flag, bool): + deprecate(f'check_feature("{feature}")', 12) try: imported_module = __import__(module, fromlist=["PIL"]) if isinstance(flag, bool): - deprecate(f'check_feature("{feature}")', 12) return flag return getattr(imported_module, flag) except ModuleNotFoundError: