From 1fa6deaf67ff42001e4a2608504250b72922af95 Mon Sep 17 00:00:00 2001 From: deadzilla Date: Sat, 11 Jul 2026 23:27:17 +0500 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BE=D1=82=D1=81=D0=BE=D1=80=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=20=5FWEATHER=5FMAPPING=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=83=D0=B1=D1=8B=D0=B2=D0=B0=D0=BD=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=B4=D0=BB=D0=B8=D0=BD=D1=8B=20=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D1=80=D1=80?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B3=D0=BE=20substring-matching?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/pogoda.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/utils/pogoda.py b/utils/pogoda.py index ad267ce..9e28a88 100644 --- a/utils/pogoda.py +++ b/utils/pogoda.py @@ -126,43 +126,46 @@ def wmo_to_russian(code: Optional[int]) -> str: _WEATHER_MAPPING = [ + # Отсортировано по убыванию длины ключа для корректного substring-matching: + # более длинные фразы проверяются первыми, чтобы "Light rain" не совпал + # раньше "Light rain shower". ("Moderate or heavy freezing rain at a distance", "Ледяной дождь"), - ("Moderate or heavy sleet at a distance", "Слякоть"), ("Moderate or heavy freezing rain in area", "Ледяной дождь"), + ("Moderate or heavy sleet at a distance", "Слякоть"), ("Moderate or heavy sleet in area", "Слякоть"), + ("Moderate or heavy rain at times", "Дождь"), + ("Moderate or heavy snow at times", "Снег"), ("Moderate or heavy snow in area", "Снег"), ("Moderate or heavy rain in area", "Дождь"), ("Thundery outbreaks in nearby", "Гроза вблизи"), - ("Moderate or heavy rain at times", "Дождь"), - ("Moderate or heavy snow at times", "Снег"), + ("Moderate or light sleet", "Слякоть"), + ("Moderate rain at times", "Умеренный дождь"), ("Patchy light drizzle", "Местами лёгкая морось"), - ("Patchy light snow", "Местами лёгкий снег"), ("Heavy freezing rain", "Сильный ледяной дождь"), ("Light freezing rain", "Лёгкий ледяной дождь"), - ("Light rain shower", "Небольшой дождь"), - ("Heavy rain shower", "Сильный дождь"), - ("Moderate or light sleet", "Слякоть"), + ("Patchy sleet nearby", "Местами слякоть"), + ("Heavy rain at times", "Сильный дождь"), ("Patchy rain nearby", "Местами дождь"), ("Patchy snow nearby", "Местами снег"), - ("Patchy sleet nearby", "Местами слякоть"), - ("Moderate rain at times", "Умеренный дождь"), - ("Heavy rain at times", "Сильный дождь"), + ("Patchy light snow", "Местами лёгкий снег"), + ("Light rain shower", "Небольшой дождь"), + ("Heavy rain shower", "Сильный дождь"), ("Moderate rain", "Умеренный дождь"), + ("Moderate snow", "Умеренный снег"), + ("Partly cloudy", "Переменная облачность"), + ("Blowing snow", "Метель"), ("Light rain", "Небольшой дождь"), ("Heavy rain", "Сильный дождь"), ("Light snow", "Небольшой снег"), - ("Moderate snow", "Умеренный снег"), ("Heavy snow", "Сильный снег"), - ("Blowing snow", "Метель"), - ("Partly cloudy", "Переменная облачность"), ("Overcast", "Пасмурно"), ("Cloudy", "Облачно"), ("Foggy", "Туманно"), - ("Fog", "Туман"), - ("Mist", "Туман"), - ("Haze", "Дымка"), ("Clear", "Ясно"), ("Sunny", "Ясно"), + ("Mist", "Туман"), + ("Haze", "Дымка"), + ("Fog", "Туман"), ]