perf: wmo_to_russian использует модульную константу _WMO_MAPPING вместо создания dict при каждом вызове
This commit is contained in:
parent
b22b02d65e
commit
49cb1a430b
@ -90,39 +90,41 @@ async def fetch_open_meteo(
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
_WMO_MAPPING: dict[int, str] = {
|
||||||
|
0: "Ясно",
|
||||||
|
1: "Ясно",
|
||||||
|
2: "Переменная облачность",
|
||||||
|
3: "Пасмурно",
|
||||||
|
45: "Туман",
|
||||||
|
48: "Туман",
|
||||||
|
51: "Лёгкая морось",
|
||||||
|
53: "Морось",
|
||||||
|
55: "Сильная морось",
|
||||||
|
56: "Ледяная морось",
|
||||||
|
57: "Сильная ледяная морось",
|
||||||
|
61: "Небольшой дождь",
|
||||||
|
63: "Дождь",
|
||||||
|
65: "Сильный дождь",
|
||||||
|
66: "Ледяной дождь",
|
||||||
|
67: "Сильный ледяной дождь",
|
||||||
|
71: "Небольшой снег",
|
||||||
|
73: "Снег",
|
||||||
|
75: "Сильный снег",
|
||||||
|
77: "Снежная крупа",
|
||||||
|
80: "Небольшой ливень",
|
||||||
|
81: "Ливень",
|
||||||
|
82: "Сильный ливень",
|
||||||
|
85: "Снежный ливень",
|
||||||
|
86: "Сильный снежный ливень",
|
||||||
|
95: "Гроза",
|
||||||
|
96: "Гроза с градом",
|
||||||
|
99: "Сильная гроза с градом",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def wmo_to_russian(code: Optional[int]) -> str:
|
def wmo_to_russian(code: Optional[int]) -> str:
|
||||||
"""Перевод WMO weather code в русский."""
|
"""Перевод WMO weather code в русский."""
|
||||||
mapping = {
|
return _WMO_MAPPING.get(code, "Неизвестно")
|
||||||
0: "Ясно",
|
|
||||||
1: "Ясно",
|
|
||||||
2: "Переменная облачность",
|
|
||||||
3: "Пасмурно",
|
|
||||||
45: "Туман",
|
|
||||||
48: "Туман",
|
|
||||||
51: "Лёгкая морось",
|
|
||||||
53: "Морось",
|
|
||||||
55: "Сильная морось",
|
|
||||||
56: "Ледяная морось",
|
|
||||||
57: "Сильная ледяная морось",
|
|
||||||
61: "Небольшой дождь",
|
|
||||||
63: "Дождь",
|
|
||||||
65: "Сильный дождь",
|
|
||||||
66: "Ледяной дождь",
|
|
||||||
67: "Сильный ледяной дождь",
|
|
||||||
71: "Небольшой снег",
|
|
||||||
73: "Снег",
|
|
||||||
75: "Сильный снег",
|
|
||||||
77: "Снежная крупа",
|
|
||||||
80: "Небольшой ливень",
|
|
||||||
81: "Ливень",
|
|
||||||
82: "Сильный ливень",
|
|
||||||
85: "Снежный ливень",
|
|
||||||
86: "Сильный снежный ливень",
|
|
||||||
95: "Гроза",
|
|
||||||
96: "Гроза с градом",
|
|
||||||
99: "Сильная гроза с градом",
|
|
||||||
}
|
|
||||||
return mapping.get(code, "Неизвестно")
|
|
||||||
|
|
||||||
|
|
||||||
_WEATHER_MAPPING = [
|
_WEATHER_MAPPING = [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user