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", "Туман"), ]