From e957446063eaf5f79bf4e4e5792030d6880f529a Mon Sep 17 00:00:00 2001 From: deadzilla Date: Sat, 11 Jul 2026 23:50:40 +0500 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D1=91=D0=BD=20ISSUES.md=20=E2=80=94=203=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B8=20=D0=B2=D1=8B=D1=81=D0=BE=D0=BA=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=B8=D0=BE=D1=80=D0=B8=D1=82=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=B2=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ISSUES.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ISSUES.md b/ISSUES.md index 4a97c90..20d49e2 100644 --- a/ISSUES.md +++ b/ISSUES.md @@ -1,11 +1,5 @@ # ISSUES — Задачи и баг-трекер -## Высокий приоритет - -- [ ] **`run_morning` fallback может отправить дайджест в несколько каналов** — при неудаче в `_target_channel_id` перебирает `bot.get_all_channels()` и шлёт в первый доступный. Пользователь получит сообщение не там, где ожидает (`utils/morning_runner.py`, `_run_morning`) -- [ ] **`!nw`: последовательные вызовы API вместо параллельных** — `fetch_rss(RSS_URL_ARTICLES)` ждёт, затем `fetch_rss(RSS_URL_POSTS)`. В `!morning` используется `asyncio.gather()`. Привести `!nw` к тому же паттерну (`commands/news.py`) -- [ ] **`format_weather_data_for_console` выводит `None` в текст** — если API вернёт `null` для поля (`temp_C`, `FeelsLikeC`), `dict.get()` вернёт `None` и f-string покажет `"None°C"`. Добавить проверку на `None` (`utils/pogoda.py`) - ## Средний приоритет - [ ] **`_parse_date` хрупкий fallback** — `pub_date[:10].replace("-", ".")` для невалидной строки вернёт мусор (например `"invalid.da"`). Добавить валидацию формата (`utils/news.py`) @@ -48,3 +42,6 @@ - [x] **`format_weather_for_embed` отсутствует в коде** — заменено на `format_weather_for_message` в README.md (`README.md`) - [x] **`_WEATHER_MAPPING` не отсортирован по убыванию длины ключей** — отсортирован список по убыванию `len(key)`, добавлен комментарий (`utils/pogoda.py`) - [x] **Глобальные `requests.Session` не закрываются** — добавлена `close_all_sessions()` в `utils/__init__.py`, вызов из `_on_shutdown` в `bot.py` +- [x] **`run_morning` fallback может отправить дайджест в несколько каналов** — fallback перебирает каналы целевого сервера вместо `bot.get_all_channels()` (`utils/morning_runner.py`) +- [x] **`!nw`: последовательные вызовы API вместо параллельных** — заменено на `asyncio.gather()` (`commands/news.py`) +- [x] **`format_weather_data_for_console` выводит `None` в текст** — добавлена явная проверка `is None` для всех полей (`utils/pogoda.py`), обновлён тест (`tests/test_commands_pg.py`)