diff --git a/server/entertainment_decider/models.py b/server/entertainment_decider/models.py index b972aab..0559b6f 100644 --- a/server/entertainment_decider/models.py +++ b/server/entertainment_decider/models.py @@ -305,10 +305,18 @@ class MediaCollectionLink(db.Entity): def element_release_date(self): return self.element.release_date + @staticmethod + def sort_key(link: MediaCollectionLink) -> Tuple: + return ( + link.season, + link.episode, + link.element.release_date, + link.element.id, + ) + @staticmethod def sorted(iterable: Iterable[MediaCollectionLink]) -> List[MediaCollectionLink]: - return sorted(iterable, key=lambda m: (m.season, m.episode, m.element_release_date, m.element_id)) - natural_order = (season, episode, element_release_date, element_id) # unusuable due to ponyorm, see https://github.com/ponyorm/pony/issues/612 + return sorted(iterable, key=MediaCollectionLink.sort_key) ## Media Elements