feat(templates): add configurable language tagging rule engine (#58)

This commit is contained in:
Andy
2026-02-26 21:17:46 -07:00
parent 13d7636d86
commit c8883a5404
5 changed files with 185 additions and 2 deletions

View File

@@ -80,6 +80,7 @@ class Title:
"hdr": "",
"hfr": "",
"edition": "",
"lang_tag": "",
}
if self.tracks:
@@ -161,6 +162,14 @@ class Title:
context["dual"] = ""
context["multi"] = ""
lang_tag_rules = config.language_tags.get("rules") if config.language_tags else None
if lang_tag_rules and self.tracks:
from unshackle.core.utils.language_tags import evaluate_language_tag
audio_langs = [a.language for a in self.tracks.audio]
sub_langs = [s.language for s in self.tracks.subtitles]
context["lang_tag"] = evaluate_language_tag(lang_tag_rules, audio_langs, sub_langs)
return context
@abstractmethod