From c186a73e572137e96b832d50a72bb670fdac8620 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Wed, 29 Jun 2022 12:01:09 +0200 Subject: [PATCH] Tweak speed util (#74160) --- homeassistant/util/speed.py | 20 ++++++++++---------- tests/util/test_speed.py | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/homeassistant/util/speed.py b/homeassistant/util/speed.py index f3fc652e90f..14b28bde676 100644 --- a/homeassistant/util/speed.py +++ b/homeassistant/util/speed.py @@ -15,27 +15,27 @@ from homeassistant.const import ( ) VALID_UNITS: tuple[str, ...] = ( - SPEED_METERS_PER_SECOND, - SPEED_KILOMETERS_PER_HOUR, - SPEED_MILES_PER_HOUR, - SPEED_MILLIMETERS_PER_DAY, SPEED_INCHES_PER_DAY, SPEED_INCHES_PER_HOUR, + SPEED_KILOMETERS_PER_HOUR, + SPEED_METERS_PER_SECOND, + SPEED_MILES_PER_HOUR, + SPEED_MILLIMETERS_PER_DAY, ) HRS_TO_SECS = 60 * 60 # 1 hr = 3600 seconds +IN_TO_M = 0.0254 KM_TO_M = 1000 # 1 km = 1000 m -KM_TO_MILE = 0.62137119 # 1 km = 0.62137119 mi -M_TO_IN = 39.3700787 # 1 m = 39.3700787 in +MILE_TO_M = 1609.344 # Units in terms of m/s UNIT_CONVERSION: dict[str, float] = { - SPEED_METERS_PER_SECOND: 1, + SPEED_INCHES_PER_DAY: (24 * HRS_TO_SECS) / IN_TO_M, + SPEED_INCHES_PER_HOUR: HRS_TO_SECS / IN_TO_M, SPEED_KILOMETERS_PER_HOUR: HRS_TO_SECS / KM_TO_M, - SPEED_MILES_PER_HOUR: HRS_TO_SECS * KM_TO_MILE / KM_TO_M, + SPEED_METERS_PER_SECOND: 1, + SPEED_MILES_PER_HOUR: HRS_TO_SECS / MILE_TO_M, SPEED_MILLIMETERS_PER_DAY: (24 * HRS_TO_SECS) * 1000, - SPEED_INCHES_PER_DAY: (24 * HRS_TO_SECS) * M_TO_IN, - SPEED_INCHES_PER_HOUR: HRS_TO_SECS * M_TO_IN, } diff --git a/tests/util/test_speed.py b/tests/util/test_speed.py index 7f52c67ed50..f0a17e6ae15 100644 --- a/tests/util/test_speed.py +++ b/tests/util/test_speed.py @@ -59,7 +59,7 @@ def test_convert_nonnumeric_value(): (5, SPEED_INCHES_PER_HOUR, 3048, SPEED_MILLIMETERS_PER_DAY), # 5 m/s * 39.3701 in/m * 3600 s/hr = 708661 (5, SPEED_METERS_PER_SECOND, 708661, SPEED_INCHES_PER_HOUR), - # 5000 in/hr / 39.3701 in/m / 3600 s/hr = 0.03528 m/s + # 5000 in/h / 39.3701 in/m / 3600 s/h = 0.03528 m/s (5000, SPEED_INCHES_PER_HOUR, 0.03528, SPEED_METERS_PER_SECOND), ], )