Фикс html_to_text (студия-ссылка в строке), BLOCK теги, схлопывание дорожек без студии, FlareSolverr-фолбэки

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
DenozordecandClaude Sonnet 5.5 committed 2026-10-27 18:01:22 +07:00
1 parent dce219aeee
commit 96e5fa0d75
5 files changed
+67 -8

No files matched your search

+19
View File
@@ -282,5 +282,24 @@ finally:
_srv.shutdown()
check("rutracker: форма логина в шапке не блокирует тему",
blocked_reason('<html><a href="login.php"></a><input name="login_username"><div class="post_body">x</div></html>') is None)
check("rutracker: голая страница логина блокируется",
blocked_reason('<html><a href="login.php"></a><input name="login_username"></html>') is not None)
_rt = ('<div class="post_body"><span class="post-b">Перевод 1</span>: Профессиональный '
'(дублированный) <a href="#">Продубляж</a><br><span>Перевод 2</span>: Профессиональный '
'(многоголосый закадровый) <a>AlexFilm</a><br>Субтитры: Русские</div>')
check("html: студия-ссылка внутри строки не рвёт дорожку",
extract_segments(html_to_text(_rt)) == ["Профессиональный (дублированный) Продубляж",
"Профессиональный (многоголосый закадровый) AlexFilm"])
check("«Дубляж, Продубляж» не режется",
len(_split_entries("Russian AC3 |Дубляж, Продубляж|")) == 1)
_agg2 = aggregate([_t("проф. дубляж", "Продубляж"), _t("проф. дубляж", None),
_t("проф. двухголосый", None)])
check("aggregate: дорожка без студии того же типа схлопывается",
[x["translation_type"] for x in _agg2["tracks"]] == ["проф. дубляж", "проф. двухголосый"])
print(f"\nитог: {PASS} ok, {FAIL} failed")
sys.exit(1 if FAIL else 0)