From ea0d50df4f6cb43817679d3bdb3ffd1ef0ec6914 Mon Sep 17 00:00:00 2001 From: deadzilla Date: Tue, 7 Jul 2026 21:44:48 +0500 Subject: [PATCH] =?UTF-8?q?fix:=20H3=20=E2=80=94=20pressure=5Fto=5Fmmhg(0)?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82?= =?UTF-8?q?=200.0=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20'=E2=80=94'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Заменён 'not mb' на 'mb is None or mb == ""' (0 — валидное значение) - Обновлён тест test_pressure_zero: ожидание 0.0 вместо '—' 230 тестов проходят. --- CODE_REVIEW.md | 4 ++-- tests/test_pogoda.py | 4 ++-- utils/pogoda.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CODE_REVIEW.md b/CODE_REVIEW.md index f4841dd..1e9047d 100644 --- a/CODE_REVIEW.md +++ b/CODE_REVIEW.md @@ -123,7 +123,7 @@ for key, value in SORTED_MAPPING: --- -### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` +### H3. `pressure_to_mmhg(0)` возвращает `"--"` вместо `0.0` — **ИСПРАВЛЕНО** **Файл:** `utils/pogoda.py`, строка 162 @@ -538,7 +538,7 @@ DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for r 3. [x] H1: Защитить `format_weather_data_for_console` от пустого списка — **выполнено** 4. [x] H2: Отсортировать ключи `translate_weather` по убыванию длины — **выполнено** -5. [ ] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` +5. [x] H3: Исправить `pressure_to_mmhg` -- `not mb` -> `mb is None or mb == ""` — **выполнено** 6. [ ] H4: Добавить защиту от дублирования cogs в `on_ready` 7. [ ] H5: Заменить `asyncio.run()` на `async def` в fetch-тестах (50+ тестов) 8. [ ] H6: Добавить HTTPError в retry-блок `fetch_weather` diff --git a/tests/test_pogoda.py b/tests/test_pogoda.py index 2f0972a..6c40970 100644 --- a/tests/test_pogoda.py +++ b/tests/test_pogoda.py @@ -231,8 +231,8 @@ class TestPressureToMMHG: assert pressure_to_mmhg("abc") == "—" def test_pressure_zero(self): - """Нулевое значение — falsy, возвращается '—' (известный баг).""" - assert pressure_to_mmhg(0) == "—" + """Нулевое значение — корректно конвертируется в 0.0.""" + assert pressure_to_mmhg(0) == 0.0 def test_pressure_negative(self): """Отрицательное значение должно конвертироваться.""" diff --git a/utils/pogoda.py b/utils/pogoda.py index 51188a4..5e32d24 100644 --- a/utils/pogoda.py +++ b/utils/pogoda.py @@ -197,7 +197,7 @@ def format_weather_for_embed(data): def pressure_to_mmhg(mb): - if mb == "—" or not mb: + if mb == "—" or mb is None or mb == "": return "—" try: return round(float(mb) * 0.750062, 1)