From dc82ae4f692eb59483ba0af79a64c6f3f8b2e88a Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 27 Sep 2022 07:16:03 +0100 Subject: [PATCH] Make VALID_UNITS a set (#79104) * Make VALID_UNITS a set * Also adjust weather --- homeassistant/components/weather/__init__.py | 22 +++++++------- homeassistant/util/pressure.py | 2 +- homeassistant/util/unit_conversion.py | 30 ++++++++++---------- homeassistant/util/unit_system.py | 4 +-- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/homeassistant/components/weather/__init__.py b/homeassistant/components/weather/__init__.py index bb358e8d980..2014c5b4eed 100644 --- a/homeassistant/components/weather/__init__.py +++ b/homeassistant/components/weather/__init__.py @@ -99,31 +99,31 @@ SCAN_INTERVAL = timedelta(seconds=30) ROUNDING_PRECISION = 2 -VALID_UNITS_PRESSURE: tuple[str, ...] = ( +VALID_UNITS_PRESSURE: set[str] = { PRESSURE_HPA, PRESSURE_MBAR, PRESSURE_INHG, PRESSURE_MMHG, -) -VALID_UNITS_TEMPERATURE: tuple[str, ...] = ( +} +VALID_UNITS_TEMPERATURE: set[str] = { TEMP_CELSIUS, TEMP_FAHRENHEIT, -) -VALID_UNITS_PRECIPITATION: tuple[str, ...] = ( +} +VALID_UNITS_PRECIPITATION: set[str] = { LENGTH_MILLIMETERS, LENGTH_INCHES, -) -VALID_UNITS_VISIBILITY: tuple[str, ...] = ( +} +VALID_UNITS_VISIBILITY: set[str] = { LENGTH_KILOMETERS, LENGTH_MILES, -) -VALID_UNITS_WIND_SPEED: tuple[str, ...] = ( +} +VALID_UNITS_WIND_SPEED: set[str] = { SPEED_FEET_PER_SECOND, SPEED_KILOMETERS_PER_HOUR, SPEED_KNOTS, SPEED_METERS_PER_SECOND, SPEED_MILES_PER_HOUR, -) +} UNIT_CONVERSIONS: dict[str, Callable[[float, str, str], float]] = { ATTR_WEATHER_PRESSURE_UNIT: PressureConverter.convert, @@ -133,7 +133,7 @@ UNIT_CONVERSIONS: dict[str, Callable[[float, str, str], float]] = { ATTR_WEATHER_WIND_SPEED_UNIT: SpeedConverter.convert, } -VALID_UNITS: dict[str, tuple[str, ...]] = { +VALID_UNITS: dict[str, set[str]] = { ATTR_WEATHER_PRESSURE_UNIT: VALID_UNITS_PRESSURE, ATTR_WEATHER_TEMPERATURE_UNIT: VALID_UNITS_TEMPERATURE, ATTR_WEATHER_VISIBILITY_UNIT: VALID_UNITS_VISIBILITY, diff --git a/homeassistant/util/pressure.py b/homeassistant/util/pressure.py index adcadf6dfdb..93da51086e6 100644 --- a/homeassistant/util/pressure.py +++ b/homeassistant/util/pressure.py @@ -18,7 +18,7 @@ from homeassistant.const import ( # pylint: disable=unused-import # noqa: F401 from .unit_conversion import PressureConverter UNIT_CONVERSION: dict[str, float] = PressureConverter.UNIT_CONVERSION -VALID_UNITS: tuple[str, ...] = PressureConverter.VALID_UNITS +VALID_UNITS = PressureConverter.VALID_UNITS def convert(value: float, from_unit: str, to_unit: str) -> float: diff --git a/homeassistant/util/unit_conversion.py b/homeassistant/util/unit_conversion.py index 363c1bf5f3c..344aef9028a 100644 --- a/homeassistant/util/unit_conversion.py +++ b/homeassistant/util/unit_conversion.py @@ -76,7 +76,7 @@ class BaseUnitConverter: UNIT_CLASS: str NORMALIZED_UNIT: str - VALID_UNITS: tuple[str, ...] + VALID_UNITS: set[str] @classmethod def _check_arguments(cls, value: float, from_unit: str, to_unit: str) -> None: @@ -131,7 +131,7 @@ class DistanceConverter(BaseUnitConverterWithUnitConversion): LENGTH_YARD: 1 / _YARD_TO_M, LENGTH_MILES: 1 / _MILE_TO_M, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { LENGTH_KILOMETERS, LENGTH_MILES, LENGTH_FEET, @@ -140,7 +140,7 @@ class DistanceConverter(BaseUnitConverterWithUnitConversion): LENGTH_MILLIMETERS, LENGTH_INCHES, LENGTH_YARD, - ) + } class EnergyConverter(BaseUnitConverterWithUnitConversion): @@ -153,11 +153,11 @@ class EnergyConverter(BaseUnitConverterWithUnitConversion): ENERGY_KILO_WATT_HOUR: 1, ENERGY_MEGA_WATT_HOUR: 1 / 1000, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { ENERGY_WATT_HOUR, ENERGY_KILO_WATT_HOUR, ENERGY_MEGA_WATT_HOUR, - ) + } class PowerConverter(BaseUnitConverterWithUnitConversion): @@ -169,10 +169,10 @@ class PowerConverter(BaseUnitConverterWithUnitConversion): POWER_WATT: 1, POWER_KILO_WATT: 1 / 1000, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { POWER_WATT, POWER_KILO_WATT, - ) + } class PressureConverter(BaseUnitConverterWithUnitConversion): @@ -191,7 +191,7 @@ class PressureConverter(BaseUnitConverterWithUnitConversion): PRESSURE_PSI: 1 / 6894.757, PRESSURE_MMHG: 1 / 133.322, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { PRESSURE_PA, PRESSURE_HPA, PRESSURE_KPA, @@ -201,7 +201,7 @@ class PressureConverter(BaseUnitConverterWithUnitConversion): PRESSURE_INHG, PRESSURE_PSI, PRESSURE_MMHG, - ) + } class SpeedConverter(BaseUnitConverterWithUnitConversion): @@ -219,7 +219,7 @@ class SpeedConverter(BaseUnitConverterWithUnitConversion): SPEED_MILES_PER_HOUR: _HRS_TO_SECS / _MILE_TO_M, SPEED_MILLIMETERS_PER_DAY: _DAYS_TO_SECS / _MM_TO_M, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { SPEED_FEET_PER_SECOND, SPEED_INCHES_PER_DAY, SPEED_INCHES_PER_HOUR, @@ -228,7 +228,7 @@ class SpeedConverter(BaseUnitConverterWithUnitConversion): SPEED_METERS_PER_SECOND, SPEED_MILES_PER_HOUR, SPEED_MILLIMETERS_PER_DAY, - ) + } class TemperatureConverter(BaseUnitConverter): @@ -236,11 +236,11 @@ class TemperatureConverter(BaseUnitConverter): UNIT_CLASS = "temperature" NORMALIZED_UNIT = TEMP_CELSIUS - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { TEMP_CELSIUS, TEMP_FAHRENHEIT, TEMP_KELVIN, - ) + } @classmethod def convert( @@ -317,11 +317,11 @@ class VolumeConverter(BaseUnitConverterWithUnitConversion): VOLUME_CUBIC_METERS: 1, VOLUME_CUBIC_FEET: 1 / _CUBIC_FOOT_TO_CUBIC_METER, } - VALID_UNITS: tuple[str, ...] = ( + VALID_UNITS = { VOLUME_LITERS, VOLUME_MILLILITERS, VOLUME_GALLONS, VOLUME_FLUID_OUNCE, VOLUME_CUBIC_METERS, VOLUME_CUBIC_FEET, - ) + } diff --git a/homeassistant/util/unit_system.py b/homeassistant/util/unit_system.py index 5d8334c6686..1492a883c36 100644 --- a/homeassistant/util/unit_system.py +++ b/homeassistant/util/unit_system.py @@ -42,7 +42,7 @@ from . import ( LENGTH_UNITS = distance_util.VALID_UNITS -MASS_UNITS: tuple[str, ...] = (MASS_POUNDS, MASS_OUNCES, MASS_KILOGRAMS, MASS_GRAMS) +MASS_UNITS: set[str] = {MASS_POUNDS, MASS_OUNCES, MASS_KILOGRAMS, MASS_GRAMS} PRESSURE_UNITS = pressure_util.VALID_UNITS @@ -50,7 +50,7 @@ VOLUME_UNITS = volume_util.VALID_UNITS WIND_SPEED_UNITS = speed_util.VALID_UNITS -TEMPERATURE_UNITS: tuple[str, ...] = (TEMP_FAHRENHEIT, TEMP_CELSIUS) +TEMPERATURE_UNITS: set[str] = {TEMP_FAHRENHEIT, TEMP_CELSIUS} def _is_valid_unit(unit: str, unit_type: str) -> bool: