From 0b44e776773f5e7a2f342ebc1b873ab3ceccef92 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sat, 5 Nov 2022 22:24:21 +0100 Subject: [PATCH] Reorder attributes of MediaCollection --- server/entertainment_decider/models.py | 58 ++++++++++++++------------ 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/server/entertainment_decider/models.py b/server/entertainment_decider/models.py index e1a8311..9dbdc7d 100644 --- a/server/entertainment_decider/models.py +++ b/server/entertainment_decider/models.py @@ -849,6 +849,8 @@ class MediaUriMapping(db.Entity): class MediaCollection(db.Entity, UriHolder, Tagable): + ### columns + id: int = orm.PrimaryKey( int, auto=True, @@ -920,6 +922,31 @@ class MediaCollection(db.Entity, UriHolder, Tagable): lambda: MediaCollection, ) + ### for UriHolder + + @property + def _primary_uri(self) -> str: + return self.uri + + def _set_primary_uri(self, uri: str) -> None: + self.uri = uri + + @property + def _get_uri_set(self) -> Set[str]: + return {m.uri for m in self.uris} + + def _set_uri_set(self, uri_set: Set[str]) -> None: + self.uris = set() + self.add_uris(uri_set) + + ### for Tagable + + @property + def orm_assigned_tags(self) -> Query[Tag]: + return self.tag_list + + ### properties + @property def is_creator(self) -> bool: return self == self.creator @@ -953,32 +980,15 @@ class MediaCollection(db.Entity, UriHolder, Tagable): def completed(self) -> bool: return self.__to_watch_episodes().count() <= 0 - ### for UriHolder - @property - def _primary_uri(self) -> str: - return self.uri - - def _set_primary_uri(self, uri: str) -> None: - self.uri = uri - - @property - def _get_uri_set(self) -> Set[str]: - return {m.uri for m in self.uris} - - def _set_uri_set(self, uri_set: Set[str]) -> None: - self.uris = set() - self.add_uris(uri_set) - - ### others + def stats(self) -> CollectionStats: + return CollectionStats.from_collection(self) @property - def orm_assigned_tags(self) -> Query[Tag]: - return self.tag_list + def info_link(self) -> str: + return f"/collection/{self.id}" - @property - def stats(self) -> CollectionStats: - return CollectionStats.from_collection(self) + ### methods def add_episode( self, @@ -1025,10 +1035,6 @@ class MediaCollection(db.Entity, UriHolder, Tagable): def before_update(self) -> None: self.add_single_uri(self.uri) - @property - def info_link(self) -> str: - return f"/collection/{self.id}" - class CollectionUriMapping(db.Entity):