Remove previously deprecated StrEnum backport (#146477)

This commit is contained in:
G Johansson 2025-06-11 16:41:40 +02:00 committed by GitHub
parent 4a8faad62e
commit 4836930cb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 1 additions and 41 deletions

View File

@ -1,29 +0,0 @@
"""Enum backports from standard lib.
This file contained the backport of the StrEnum of Python 3.11.
Since we have dropped support for Python 3.10, we can remove this backport.
This file is kept for now to avoid breaking custom components that might
import it.
"""
from __future__ import annotations
from enum import StrEnum as _StrEnum
from functools import partial
from homeassistant.helpers.deprecation import (
DeprecatedAlias,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
# StrEnum deprecated as of 2024.5 use enum.StrEnum instead.
_DEPRECATED_StrEnum = DeprecatedAlias(_StrEnum, "enum.StrEnum", "2025.5")
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@ -25,12 +25,6 @@ _OBSOLETE_IMPORT: dict[str, list[ObsoleteImportMatch]] = {
constant=re.compile(r"^cached_property$"), constant=re.compile(r"^cached_property$"),
), ),
], ],
"homeassistant.backports.enum": [
ObsoleteImportMatch(
reason="We can now use the Python 3.11 provided enum.StrEnum instead",
constant=re.compile(r"^StrEnum$"),
),
],
"homeassistant.backports.functools": [ "homeassistant.backports.functools": [
ObsoleteImportMatch( ObsoleteImportMatch(
reason="replaced by propcache.api.cached_property", reason="replaced by propcache.api.cached_property",

View File

@ -2,17 +2,13 @@
from __future__ import annotations from __future__ import annotations
from enum import StrEnum
from functools import cached_property # pylint: disable=hass-deprecated-import from functools import cached_property # pylint: disable=hass-deprecated-import
from types import ModuleType from types import ModuleType
from typing import Any from typing import Any
import pytest import pytest
from homeassistant.backports import ( from homeassistant.backports import functools as backports_functools
enum as backports_enum,
functools as backports_functools,
)
from .common import import_and_test_deprecated_alias from .common import import_and_test_deprecated_alias
@ -20,7 +16,6 @@ from .common import import_and_test_deprecated_alias
@pytest.mark.parametrize( @pytest.mark.parametrize(
("module", "replacement", "breaks_in_ha_version"), ("module", "replacement", "breaks_in_ha_version"),
[ [
(backports_enum, StrEnum, "2025.5"),
(backports_functools, cached_property, "2025.5"), (backports_functools, cached_property, "2025.5"),
], ],
) )