From b649ef8d8719d2dda41fc0a11ad684561bbb1ea8 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 30 Sep 2022 20:38:11 +0200 Subject: [PATCH] Realign util constants with 2022.9.7 (#79357) --- homeassistant/util/distance.py | 24 ++++++++++++++++++++++++ homeassistant/util/speed.py | 2 +- homeassistant/util/volume.py | 2 -- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/homeassistant/util/distance.py b/homeassistant/util/distance.py index 09cd55a9cee..f5dbeaf42d5 100644 --- a/homeassistant/util/distance.py +++ b/homeassistant/util/distance.py @@ -1,6 +1,8 @@ """Distance util functions.""" from __future__ import annotations +from collections.abc import Callable + from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 LENGTH, LENGTH_CENTIMETERS, @@ -19,6 +21,28 @@ from .unit_conversion import DistanceConverter VALID_UNITS = DistanceConverter.VALID_UNITS +TO_METERS: dict[str, Callable[[float], float]] = { + LENGTH_METERS: lambda meters: meters, + LENGTH_MILES: lambda miles: miles * 1609.344, + LENGTH_YARD: lambda yards: yards * 0.9144, + LENGTH_FEET: lambda feet: feet * 0.3048, + LENGTH_INCHES: lambda inches: inches * 0.0254, + LENGTH_KILOMETERS: lambda kilometers: kilometers * 1000, + LENGTH_CENTIMETERS: lambda centimeters: centimeters * 0.01, + LENGTH_MILLIMETERS: lambda millimeters: millimeters * 0.001, +} + +METERS_TO: dict[str, Callable[[float], float]] = { + LENGTH_METERS: lambda meters: meters, + LENGTH_MILES: lambda meters: meters * 0.000621371, + LENGTH_YARD: lambda meters: meters * 1.09361, + LENGTH_FEET: lambda meters: meters * 3.28084, + LENGTH_INCHES: lambda meters: meters * 39.3701, + LENGTH_KILOMETERS: lambda meters: meters * 0.001, + LENGTH_CENTIMETERS: lambda meters: meters * 100, + LENGTH_MILLIMETERS: lambda meters: meters * 1000, +} + def convert(value: float, from_unit: str, to_unit: str) -> float: """Convert one unit of measurement to another.""" diff --git a/homeassistant/util/speed.py b/homeassistant/util/speed.py index 18410272a7f..76ea873d7fe 100644 --- a/homeassistant/util/speed.py +++ b/homeassistant/util/speed.py @@ -26,7 +26,7 @@ from .unit_conversion import ( # pylint: disable=unused-import # noqa: F401 ) # pylint: disable-next=protected-access -UNIT_CONVERSION = SpeedConverter._UNIT_CONVERSION +UNIT_CONVERSION: dict[str, float] = SpeedConverter._UNIT_CONVERSION VALID_UNITS = SpeedConverter.VALID_UNITS diff --git a/homeassistant/util/volume.py b/homeassistant/util/volume.py index f63f7de2cf3..b468b9e6e0d 100644 --- a/homeassistant/util/volume.py +++ b/homeassistant/util/volume.py @@ -15,8 +15,6 @@ from homeassistant.helpers.frame import report from .unit_conversion import VolumeConverter -# pylint: disable-next=protected-access -UNIT_CONVERSION = VolumeConverter._UNIT_CONVERSION VALID_UNITS = VolumeConverter.VALID_UNITS