From 49cb1a430bf249b5072856fc54f4085f3c385cae Mon Sep 17 00:00:00 2001 From: deadzilla Date: Sat, 11 Jul 2026 23:56:54 +0500 Subject: [PATCH] =?UTF-8?q?perf:=20wmo=5Fto=5Frussian=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20=D0=BA=D0=BE=D0=BD=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D1=82=D1=83=20=5FWMO=5FMAPPING=20=D0=B2?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20dict=20=D0=BF=D1=80=D0=B8=20=D0=BA=D0=B0?= =?UTF-8?q?=D0=B6=D0=B4=D0=BE=D0=BC=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/pogoda.py | 64 +++++++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/utils/pogoda.py b/utils/pogoda.py index 9959184..1a5fc93 100644 --- a/utils/pogoda.py +++ b/utils/pogoda.py @@ -90,39 +90,41 @@ async def fetch_open_meteo( 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: """Перевод WMO weather code в русский.""" - mapping = { - 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, "Неизвестно") + return _WMO_MAPPING.get(code, "Неизвестно") _WEATHER_MAPPING = [