From 0cdcd13822ec5cdbced210733b51eb5d3dd3e2fa Mon Sep 17 00:00:00 2001 From: Maximilian Giller Date: Sun, 7 Sep 2025 02:55:47 +0200 Subject: [PATCH] Refactored match result object --- src/label_episodes.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/label_episodes.py b/src/label_episodes.py index 231b583..a10c264 100644 --- a/src/label_episodes.py +++ b/src/label_episodes.py @@ -150,12 +150,14 @@ class EpisodesMatchResult: scores: dict[str, dict[str, float]] = field(default_factory=dict) """Raw scores from matching. For each episode, the score to each reference.""" - perfect_match: bool = False - """If true, scores were unambiguous amd simplified to reference_by_episode and episode_by_reference.""" - reference_by_episode: dict[str, str] | None = None """Simplified form of results, if unambiguous (see perfect_match). Episode as key, reference as value.""" + @property + def perfect_match(self) -> bool: + """If true, scores were unambiguous amd simplified to reference_by_episode and episode_by_reference.""" + return self.reference_by_episode is not None + @property def episode_by_reference(self) -> dict[str, str] | None: """Simplified form of results, if unambiguous (see perfect_match). Refernce as key, episode as value.""" @@ -195,13 +197,12 @@ class EpisodesMatchResult: elif ep_ref == ref: return # Not a perfect match - self.perfect_match = True self.reference_by_episode = ref_by_ep def __str__(self) -> str: msg = f"Perfect Match: {self.perfect_match}" - if self.perfect_match and self.reference_by_episode: + if self.reference_by_episode: for ep, ref in self.reference_by_episode.items(): msg += f"\n{ep}\t{ref}" else: