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 807782847..ed7929973 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -56,17 +56,17 @@ def test_version() -> 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 24c5ee978..75d59e01c 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: