Make VALID_UNITS a set (#79104)

* Make VALID_UNITS a set

* Also adjust weather
This commit is contained in:
epenet 2022-09-27 07:16:03 +01:00 committed by GitHub
parent c5a58c8501
commit dc82ae4f69
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 29 deletions

View file

@ -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,

View file

@ -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:

View file

@ -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,
)
}

View file

@ -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: