Deprecate CONF_UNIT_SYSTEM_*** constants (#80320)
* Deprecate CONF_UNIT_SYSTEM_*** constants
* Adjust pylint plugin
* Add tests
* Remove single-use function
* Revert logic change
* Revert "Revert logic change"
This reverts commit 60959a0050
.
* Tweak again
This commit is contained in:
parent
284893d942
commit
bff5d1123f
8 changed files with 72 additions and 34 deletions
|
@ -2,11 +2,12 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from numbers import Number
|
||||
from typing import Final
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.const import (
|
||||
ACCUMULATED_PRECIPITATION,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
CONF_UNIT_SYSTEM_METRIC,
|
||||
LENGTH,
|
||||
LENGTH_INCHES,
|
||||
LENGTH_KILOMETERS,
|
||||
|
@ -41,6 +42,9 @@ from .unit_conversion import (
|
|||
VolumeConverter,
|
||||
)
|
||||
|
||||
_CONF_UNIT_SYSTEM_IMPERIAL: Final = "imperial"
|
||||
_CONF_UNIT_SYSTEM_METRIC: Final = "metric"
|
||||
|
||||
LENGTH_UNITS = DistanceConverter.VALID_UNITS
|
||||
|
||||
MASS_UNITS: set[str] = {MASS_POUNDS, MASS_OUNCES, MASS_KILOGRAMS, MASS_GRAMS}
|
||||
|
@ -207,8 +211,21 @@ class UnitSystem:
|
|||
}
|
||||
|
||||
|
||||
def get_unit_system(key: str) -> UnitSystem:
|
||||
"""Get unit system based on key."""
|
||||
if key == _CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
return IMPERIAL_SYSTEM
|
||||
if key == _CONF_UNIT_SYSTEM_METRIC:
|
||||
return METRIC_SYSTEM
|
||||
raise ValueError(f"`{key}` is not a valid unit system key")
|
||||
|
||||
|
||||
validate_unit_system = vol.All(
|
||||
vol.Lower, vol.Any(_CONF_UNIT_SYSTEM_METRIC, _CONF_UNIT_SYSTEM_IMPERIAL)
|
||||
)
|
||||
|
||||
METRIC_SYSTEM = UnitSystem(
|
||||
CONF_UNIT_SYSTEM_METRIC,
|
||||
_CONF_UNIT_SYSTEM_METRIC,
|
||||
TEMP_CELSIUS,
|
||||
LENGTH_KILOMETERS,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
|
@ -219,7 +236,7 @@ METRIC_SYSTEM = UnitSystem(
|
|||
)
|
||||
|
||||
IMPERIAL_SYSTEM = UnitSystem(
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
_CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
TEMP_FAHRENHEIT,
|
||||
LENGTH_MILES,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue