Commit Graph

4 Commits

Author SHA1 Message Date
Aks 5466a0c943 feat: визуальный запуск парсера в Admin-панели
render_parser_launcher() в Admin: форма (source/city/categories/limit/
enrich-флаги), кнопки Старт/Стоп, живой лог с авто-обновлением каждые 2с,
статус завершения. Константы _PYTHON/_MAIN/_LOG_FILE с абс. путями.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 13:40:57 +03:00
Aks e116e508f9 feat: Admin-панель в CRM + CLI --repass / --delete-db
- app/app.py: навигация CRM / Управление (st.sidebar.radio), render_admin()
  со статистикой, кнопками rescore / repass / сброс флагов / удаление БД с чекбоксом
- main.py: run_repass() (ренормализация телефонов+доменов + rescore, без HTTP),
  флаги --delete-db и --repass, Path import добавлен

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 13:36:30 +03:00
Aks 98309dcc96 fix: устранены все найденные аудитом баги и тихие падения
- SQL injection паттерн → параметризованные запросы во всех местах
- except: pass/continue → logger.warning() везде, ничего не тонет молча
- WAL mode + индекс domain_dedup_key в database.py
- try/finally для conn в main.py, утечка соединения устранена
- backoff 30с при 403/429 от Rusprofile/ЕГРЮЛ
- ликвидированные компании → egrul_status="liquidated"
- max_candidates в contacts_finder считает только реальных кандидатов
- DB_PATH абсолютный (Path(__file__).parent), HH_PAUSE_BETWEEN_QUERIES в config
- HH_SIGNAL_QUERIES дубль убран из launcher.py → импорт из config
- path traversal защита в egrul_enricher debug_dump_html

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 13:19:52 +03:00
Aks f78f35fb3f init: Parser v1 — Lead Generation Engine
Парсер лидов МБ РФ: Яндекс.Карты + HH.ru + обогащение DaData/ЕГРЮЛ/Rusprofile + Streamlit CRM.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 12:56:06 +03:00