mirror of
https://github.com/jdejaegh/irm-kmi-api.git
synced 2025-06-26 20:05:40 +02:00
117 lines
3.9 KiB
Python
117 lines
3.9 KiB
Python
from typing import Final
|
|
|
|
from .data import ConditionEvol, PollenLevel, RadarStyle, WarningType
|
|
|
|
POLLEN_LEVEL_TO_COLOR = {
|
|
'null': PollenLevel.GREEN,
|
|
'low': PollenLevel.YELLOW,
|
|
'moderate': PollenLevel.ORANGE,
|
|
'high': PollenLevel.RED,
|
|
'very high': PollenLevel.PURPLE,
|
|
'active': PollenLevel.ACTIVE
|
|
}
|
|
|
|
WEEKDAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
|
|
|
|
STYLE_TO_PARAM_MAP: Final = {
|
|
RadarStyle.OPTION_STYLE_STD: 1,
|
|
RadarStyle.OPTION_STYLE_CONTRAST: 2,
|
|
RadarStyle.OPTION_STYLE_YELLOW_RED: 3,
|
|
RadarStyle.OPTION_STYLE_SATELLITE: 4
|
|
}
|
|
|
|
MAP_WARNING_ID_TO_SLUG: Final = {
|
|
0: WarningType.WIND,
|
|
1: WarningType.RAIN,
|
|
2: WarningType.ICE_OR_SNOW,
|
|
3: WarningType.THUNDER,
|
|
7: WarningType.FOG,
|
|
9: WarningType.COLD,
|
|
10: WarningType.HEAT,
|
|
12: WarningType.THUNDER_WIND_RAIN,
|
|
13: WarningType.THUNDERSTORM_STRONG_GUSTS,
|
|
14: WarningType.THUNDERSTORM_LARGE_RAINFALL,
|
|
15: WarningType.STORM_SURGE,
|
|
17: WarningType.COLDSPELL
|
|
}
|
|
|
|
WWEVOL_TO_ENUM_MAP: Final = {
|
|
None: ConditionEvol.STABLE,
|
|
0: ConditionEvol.ONE_WAY,
|
|
1: ConditionEvol.TWO_WAYS
|
|
}
|
|
|
|
ATTR_CONDITION_CLEAR_NIGHT = "clear-night"
|
|
ATTR_CONDITION_CLOUDY = "cloudy"
|
|
ATTR_CONDITION_EXCEPTIONAL = "exceptional"
|
|
ATTR_CONDITION_FOG = "fog"
|
|
ATTR_CONDITION_HAIL = "hail"
|
|
ATTR_CONDITION_LIGHTNING = "lightning"
|
|
ATTR_CONDITION_LIGHTNING_RAINY = "lightning-rainy"
|
|
ATTR_CONDITION_PARTLYCLOUDY = "partlycloudy"
|
|
ATTR_CONDITION_POURING = "pouring"
|
|
ATTR_CONDITION_RAINY = "rainy"
|
|
ATTR_CONDITION_SNOWY = "snowy"
|
|
ATTR_CONDITION_SNOWY_RAINY = "snowy-rainy"
|
|
ATTR_CONDITION_SUNNY = "sunny"
|
|
ATTR_CONDITION_WINDY = "windy"
|
|
ATTR_CONDITION_WINDY_VARIANT = "windy-variant"
|
|
|
|
IRM_KMI_TO_HA_CONDITION_MAP: Final = {
|
|
(0, 'd'): ATTR_CONDITION_SUNNY,
|
|
(0, 'n'): ATTR_CONDITION_CLEAR_NIGHT,
|
|
(1, 'd'): ATTR_CONDITION_SUNNY,
|
|
(1, 'n'): ATTR_CONDITION_CLEAR_NIGHT,
|
|
(2, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(2, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(3, 'd'): ATTR_CONDITION_PARTLYCLOUDY,
|
|
(3, 'n'): ATTR_CONDITION_PARTLYCLOUDY,
|
|
(4, 'd'): ATTR_CONDITION_POURING,
|
|
(4, 'n'): ATTR_CONDITION_POURING,
|
|
(5, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(5, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(6, 'd'): ATTR_CONDITION_POURING,
|
|
(6, 'n'): ATTR_CONDITION_POURING,
|
|
(7, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(7, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(8, 'd'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(8, 'n'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(9, 'd'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(9, 'n'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(10, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(10, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(11, 'd'): ATTR_CONDITION_SNOWY,
|
|
(11, 'n'): ATTR_CONDITION_SNOWY,
|
|
(12, 'd'): ATTR_CONDITION_SNOWY,
|
|
(12, 'n'): ATTR_CONDITION_SNOWY,
|
|
(13, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(13, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(14, 'd'): ATTR_CONDITION_CLOUDY,
|
|
(14, 'n'): ATTR_CONDITION_CLOUDY,
|
|
(15, 'd'): ATTR_CONDITION_CLOUDY,
|
|
(15, 'n'): ATTR_CONDITION_CLOUDY,
|
|
(16, 'd'): ATTR_CONDITION_POURING,
|
|
(16, 'n'): ATTR_CONDITION_POURING,
|
|
(17, 'd'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(17, 'n'): ATTR_CONDITION_LIGHTNING_RAINY,
|
|
(18, 'd'): ATTR_CONDITION_RAINY,
|
|
(18, 'n'): ATTR_CONDITION_RAINY,
|
|
(19, 'd'): ATTR_CONDITION_POURING,
|
|
(19, 'n'): ATTR_CONDITION_POURING,
|
|
(20, 'd'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(20, 'n'): ATTR_CONDITION_SNOWY_RAINY,
|
|
(21, 'd'): ATTR_CONDITION_RAINY,
|
|
(21, 'n'): ATTR_CONDITION_RAINY,
|
|
(22, 'd'): ATTR_CONDITION_SNOWY,
|
|
(22, 'n'): ATTR_CONDITION_SNOWY,
|
|
(23, 'd'): ATTR_CONDITION_SNOWY,
|
|
(23, 'n'): ATTR_CONDITION_SNOWY,
|
|
(24, 'd'): ATTR_CONDITION_FOG,
|
|
(24, 'n'): ATTR_CONDITION_FOG,
|
|
(25, 'd'): ATTR_CONDITION_FOG,
|
|
(25, 'n'): ATTR_CONDITION_FOG,
|
|
(26, 'd'): ATTR_CONDITION_FOG,
|
|
(26, 'n'): ATTR_CONDITION_FOG,
|
|
(27, 'd'): ATTR_CONDITION_FOG,
|
|
(27, 'n'): ATTR_CONDITION_FOG
|
|
}
|