From a039aafff23585b4e553d876eb62d2b87e848084 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sat, 5 Nov 2022 21:15:42 +0100 Subject: [PATCH] PreferenceScore.calculate_score improved --- server/entertainment_decider/models.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/entertainment_decider/models.py b/server/entertainment_decider/models.py index ed3f5a0..6a8985a 100644 --- a/server/entertainment_decider/models.py +++ b/server/entertainment_decider/models.py @@ -266,9 +266,10 @@ class PreferenceScore: return (self & tagable.tag_hierachy.share_score(score)).calculate() def calculate_score(self, object: Tagable) -> float: - return math.fsum( - self.points[tag] for tag in object.all_tags if tag in self.points - ) + return self.calculate_iter_score(object.all_tags) + + def calculate_iter_score(self, tag_iter: Iterable[Tag]) -> float: + return math.fsum(self.points.get(tag, 0) for tag in tag_iter) def order_by_score(self, objects: Iterable[T_tagged]) -> List[T_tagged]: return sorted(objects, key=self.calculate_score)