From d4b457f94e0d0ae8b9510bbb6b0c5338382b34fb Mon Sep 17 00:00:00 2001 From: deadzilla Date: Tue, 14 Jul 2026 22:04:38 +0500 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BF=D0=BE=D0=BC=D0=B5=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BA=D1=80=D1=8B=D1=82=D1=8B=D0=B5?= =?UTF-8?q?=20=D0=BA=D1=80=D0=B8=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B8=20=D0=B2=20ISSUES?= =?UTF-8?q?.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ISSUES.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ISSUES.md b/ISSUES.md index 404510a..5a3ba1d 100644 --- a/ISSUES.md +++ b/ISSUES.md @@ -39,6 +39,10 @@ - [x] **`requirements.txt` без пиннинга версий** — `>=` заменён на `~=` (compatible release) - [x] **Закомментированный тест `pressure_to_mmhg(0)`** — удалена устаревшая закомментированная строка - [x] **`format_articles(None)` бросает `TypeError`** — добавлена валидация `None`, graceful fallback с сообщением +- [x] **`setup_logging()` создаёт дублирующиеся handlers** — добавлен `root.handlers.clear()` (`utils/logger.py`) +- [x] **Первый `logger.info()` теряется** — `setup_logging()` вызывается до первого лога (`bot.py`) +- [x] **`translate_weather()` уязвим к ложным substring-совпадениям** — точное совпадение приоритизируется (`utils/pogoda.py`) + --- @@ -46,9 +50,9 @@ ### Критические -- [ ] **`setup_logging()` создаёт дублирующиеся handlers** — каждый вызов добавляет новые `StreamHandler` и `RotatingFileHandler` к root-логгеру без проверки (`utils/logger.py`, строки 30-39) -- [ ] **Первый `logger.info()` теряется** — `"=== Запуск Discord бота ==="` вызван до `setup_logging()`, у root-логгера нет handlers (`bot.py`, строка 196) -- [ ] **`translate_weather()` уязвим к ложным substring-совпадениям** — `if key.lower() in en_lower` может вернуть неверный перевод (например, `"Heavy rain"` совпадёт в `"Heavy rain shower"` раньше, чем точный ключ) (`utils/pogoda.py`) +- [x] ~~**`setup_logging()` создаёт дублирующиеся handlers**~~ — добавлен `root.handlers.clear()` перед добавлением новых хендлеров (`utils/logger.py`) +- [x] ~~**Первый `logger.info()` теряется**~~ — `setup_logging()` перемещён до первого `logger.info()` (`bot.py`) +- [x] ~~**`translate_weather()` уязвим к ложным substring-совпадениям**~~ — добавлена проверка точного совпадения (case-insensitive) перед substring-matching (`utils/pogoda.py`) ### Средние