Язык дорожки из строки «Аудио» (UKR вместо RUS), студия |Дубляж, Имя|, каналы 5.1, оригинальная дорожка, язык в studios, защита от студий «Дубляжная»
docker / build (push) Successful in 1m40s

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
This commit is contained in:
DenozordecandClaude Sonnet 5.5 committed 2026-10-29 17:55:08 +07:00
1 parent 9528113cfd
commit e648415719
6 files changed
+88 -16

No files matched your search

+22
View File
@@ -301,6 +301,28 @@ _agg2 = aggregate([_t("проф. дубляж", "Продубляж"), _t("пр
check("aggregate: дорожка без студии того же типа схлопывается",
[x["translation_type"] for x in _agg2["tracks"]] == ["проф. дубляж", "проф. двухголосый"])
print("== строки «Аудио»: язык, студии, оригинал ==")
from src.predict import guard_type
from src.release import original_info
from src.trackinfo import audio_lines_all, match_audio
_au = audio_lines_all(
"Аудио 1: Russian E-AC3 / 5.1 / 48 kHz / 768 kbps |Дубляж, Продубляж|\n"
"Аудио 4: Ukrainian E-AC3 / 5.1 / 48 kHz / 256 kbps |Дубляж, Le Doyen|\n"
"Аудио 5: English E-AC3+Atmos / 5.1 / 48 kHz / 768 kbps |Original|\n")
check("аудио: «|Дубляж, Le Doyen|» -> студия Le Doyen без слова-типа", _au[1]["names"] == ["Le Doyen"], str(_au[1]["names"]))
check("аудио: язык Ukrainian -> UKR", _au[1]["lang"] == "UKR")
check("аудио: раскладка 5.1 -> 6 каналов", _au[1]["channels"] == "6")
check("аудио: дорожка студии находит свою строку",
match_audio("Профессиональный (дублированный) Le Doyen", _au) == [_au[1]])
_orig = original_info(_au)
check("оригинал: ENG, 768 kbps, 6 каналов", _orig and _orig["lang"] == "ENG" and _orig["bitrate_kbps"] == 768 and _orig["channels"] == 6, str(_orig))
check("оригинал: нет строки Original -> None", original_info(_au[:2]) is None)
_T = ["проф. дубляж", "проф. многоголосый", "люб. многоголосый", "многоголосый"]
check("тип: «Любительский (многоголосый …) Дубляжная» не дубляж",
guard_type("проф. дубляж", "Любительский (многоголосый закадровый) Дубляжная", "Дубляжная", _T) == "люб. многоголосый")
check("тип: настоящий дубляж не трогается",
guard_type("проф. дубляж", "Профессиональный (дублированный) Продубляж", "Продубляж", _T) == "проф. дубляж")
print("== серии по студиям ==")
from src.episodes import format_ranges as _fr, parse_episodes as _pe # noqa: E402
from src.release import series_info as _si # noqa: E402