From d6fc2d9452771770f82ee9e26868bf6073abc675 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 21 Dec 2022 15:24:11 +0100 Subject: [PATCH] Prevent use of deprecated units (#83384) * Prevent use of deprecated units * Adjust obsolete util * More units * Add FREQUENCY * Adjust pylint ignore * Add ELECTRIC (current/potential) * Add TIME * Adjust units --- homeassistant/util/distance.py | 3 +- homeassistant/util/pressure.py | 3 +- homeassistant/util/speed.py | 3 +- homeassistant/util/temperature.py | 3 +- homeassistant/util/volume.py | 3 +- pylint/plugins/hass_imports.py | 70 ++++++++++++++++++++++++++++--- 6 files changed, 75 insertions(+), 10 deletions(-) diff --git a/homeassistant/util/distance.py b/homeassistant/util/distance.py index 719379d4c61..c56e3981dc4 100644 --- a/homeassistant/util/distance.py +++ b/homeassistant/util/distance.py @@ -3,7 +3,8 @@ from __future__ import annotations from collections.abc import Callable -from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 +# pylint: disable-next=unused-import,hass-deprecated-import +from homeassistant.const import ( # noqa: F401 LENGTH, LENGTH_CENTIMETERS, LENGTH_FEET, diff --git a/homeassistant/util/pressure.py b/homeassistant/util/pressure.py index d6d0c79741f..01e7f23f812 100644 --- a/homeassistant/util/pressure.py +++ b/homeassistant/util/pressure.py @@ -1,7 +1,8 @@ """Pressure util functions.""" from __future__ import annotations -from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 +# pylint: disable-next=unused-import,hass-deprecated-import +from homeassistant.const import ( # noqa: F401 PRESSURE, PRESSURE_BAR, PRESSURE_CBAR, diff --git a/homeassistant/util/speed.py b/homeassistant/util/speed.py index f531e2d78f7..22ef5181d8a 100644 --- a/homeassistant/util/speed.py +++ b/homeassistant/util/speed.py @@ -1,7 +1,8 @@ """Distance util functions.""" from __future__ import annotations -from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 +# pylint: disable-next=unused-import,hass-deprecated-import +from homeassistant.const import ( # noqa: F401 SPEED, SPEED_FEET_PER_SECOND, SPEED_INCHES_PER_DAY, diff --git a/homeassistant/util/temperature.py b/homeassistant/util/temperature.py index 0c2608eb4b5..bb8a817238b 100644 --- a/homeassistant/util/temperature.py +++ b/homeassistant/util/temperature.py @@ -1,5 +1,6 @@ """Temperature util functions.""" -from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 +# pylint: disable-next=unused-import,hass-deprecated-import +from homeassistant.const import ( # noqa: F401 TEMP_CELSIUS, TEMP_FAHRENHEIT, TEMP_KELVIN, diff --git a/homeassistant/util/volume.py b/homeassistant/util/volume.py index e21cebd2982..22b603b7ced 100644 --- a/homeassistant/util/volume.py +++ b/homeassistant/util/volume.py @@ -1,7 +1,8 @@ """Volume conversion util functions.""" from __future__ import annotations -from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 +# pylint: disable-next=unused-import,hass-deprecated-import +from homeassistant.const import ( # noqa: F401 UNIT_NOT_RECOGNIZED_TEMPLATE, VOLUME, VOLUME_CUBIC_FEET, diff --git a/pylint/plugins/hass_imports.py b/pylint/plugins/hass_imports.py index 678773abcb9..0a9291ec5ec 100644 --- a/pylint/plugins/hass_imports.py +++ b/pylint/plugins/hass_imports.py @@ -260,16 +260,76 @@ _OBSOLETE_IMPORT: dict[str, list[ObsoleteImportMatch]] = { ], "homeassistant.const": [ ObsoleteImportMatch( - reason="replaced by SensorDeviceClass enum", - constant=re.compile(r"^DEVICE_CLASS_(\w*)$"), + reason="replaced by local constants", + constant=re.compile(r"^CONF_UNIT_SYSTEM_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^DATA_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by ***DeviceClass enum", + constant=re.compile(r"^DEVICE_CLASS_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^ELECTRIC_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^ENERGY_(\w+)$"), ), ObsoleteImportMatch( reason="replaced by EntityCategory enum", - constant=re.compile(r"^(ENTITY_CATEGORY_(\w*))|(ENTITY_CATEGORIES)$"), + constant=re.compile(r"^(ENTITY_CATEGORY_(\w+))|(ENTITY_CATEGORIES)$"), ), ObsoleteImportMatch( - reason="replaced by local constants", - constant=re.compile(r"^(CONF_UNIT_SYSTEM_(\w*))$"), + reason="replaced by unit enums", + constant=re.compile(r"^FREQUENCY_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^IRRADIATION_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^LENGTH_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^MASS_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^POWER_(?!VOLT_AMPERE_REACTIVE)(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^PRECIPITATION_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^PRESSURE_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^SOUND_PRESSURE_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^SPEED_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^TEMP_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^TIME_(\w+)$"), + ), + ObsoleteImportMatch( + reason="replaced by unit enums", + constant=re.compile(r"^VOLUME_(\w+)$"), ), ], "homeassistant.core": [