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>
This commit is contained in:
@@ -303,7 +303,8 @@ def find_company_website(
|
||||
}
|
||||
|
||||
seen: set[str] = set()
|
||||
max_candidates = 6 # проверим не больше 6 разных сайтов
|
||||
max_candidates = 6 # проверим не больше 6 реальных (не агрегаторных) кандидатов
|
||||
real_candidates = 0
|
||||
|
||||
for query in queries:
|
||||
try:
|
||||
@@ -324,7 +325,8 @@ def find_company_website(
|
||||
seen.add(host)
|
||||
if not _is_company_site(found_url):
|
||||
continue
|
||||
if len(seen) > max_candidates:
|
||||
real_candidates += 1
|
||||
if real_candidates > max_candidates:
|
||||
break
|
||||
|
||||
root = f"{urlparse(found_url).scheme}://{host}"
|
||||
|
||||
Reference in New Issue
Block a user