From 92d072bd66d69d4598024d558a9006cc1e13d8b2 Mon Sep 17 00:00:00 2001 From: werrpy Date: Wed, 11 Jan 2023 23:13:36 -0500 Subject: [PATCH] (Fix) new language format remove parenthesis --- vdator/checks/text_order.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/vdator/checks/text_order.py b/vdator/checks/text_order.py index 1b2b38c..b144467 100644 --- a/vdator/checks/text_order.py +++ b/vdator/checks/text_order.py @@ -2,6 +2,7 @@ from .mixins import IsCommentaryTrack, SectionId from collections import OrderedDict +import re class CheckTextOrder(Check, IsCommentaryTrack, SectionId): @@ -27,7 +28,9 @@ def get_reply(self): return reply # text_langs = ['German', 'English', ...] - text_langs = [text["language"] for text in self.mediainfo["text"]] + text_langs = [ + self._format_lang(text["language"]) for text in self.mediainfo["text"] + ] # remove duplicates from list and preserve order text_langs = list(dict.fromkeys(text_langs)) @@ -45,10 +48,12 @@ def get_reply(self): for i, text in enumerate(self.mediainfo["text"]): text["title"] = text["title"] if "title" in text else "" if self._is_commentary_track(text["title"]): - commentary_tracks_by_lang[text["language"]].append(text) + commentary_tracks_by_lang[self._format_lang(text["language"])].append( + text + ) has_commentary = True else: - text_tracks_by_lang[text["language"]].append(text) + text_tracks_by_lang[self._format_lang(text["language"])].append(text) # forced english track should be first reply += self._forced_english_track_first(i, text) @@ -77,6 +82,13 @@ def get_reply(self): return reply + def _format_lang(self, lang): + """ + Format a text language to remove parenthesis + English (US) becomes English + """ + return re.sub(r"\([^)]*\)", "", lang).strip() + def _forced_english_track_first(self, i, text_track): """ Forced english track should be first