From 84f49af16308d48de2eec904af80d9fcdc72243a Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Sun, 4 Feb 2024 02:07:35 -0500 Subject: [PATCH] Need to rethink this, it may be fine --- vrobbler/apps/scrobbles/models.py | 42 +++++++++++++------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/vrobbler/apps/scrobbles/models.py b/vrobbler/apps/scrobbles/models.py index 80c2979..44f350a 100644 --- a/vrobbler/apps/scrobbles/models.py +++ b/vrobbler/apps/scrobbles/models.py @@ -575,31 +575,19 @@ class Scrobble(TimeStampedModel): is_stale = True return is_stale - @property - def next(self) -> "Scrobble": - return ( - self.media_obj.scrobble_set.order_by("-timestamp") - .exclude(id=self.id) - .filter(timestamp__lt=self.timestamp) - .first() - ) - @property def previous(self) -> "Scrobble": return ( - self.media_obj.scrobble_set.order_by("timestamp") - .exclude(id=self.id) - .filter(timestamp__gt=self.timestamp) + self.media_obj.scrobble_set.order_by("-timestamp") + .filter(timestamp__lt=self.timestamp) .first() ) @property - def next_all(self) -> "Scrobble": + def next(self) -> "Scrobble": return ( - Scrobble.objects.filter(media_type=self.media_type) - .exclude(id=self.id) - .order_by("-timestamp") - .filter(timestamp__lt=self.timestamp) + self.media_obj.scrobble_set.order_by("timestamp") + .filter(timestamp__gt=self.timestamp) .first() ) @@ -607,18 +595,17 @@ class Scrobble(TimeStampedModel): def previous_all(self) -> "Scrobble": return ( Scrobble.objects.filter(media_type=self.media_type) - .exclude(id=self.id) .order_by("-timestamp") - .filter(timestamp__gt=self.timestamp) + .filter(timestamp__lt=self.timestamp) .first() ) @property - def next_all_media(self) -> "Scrobble": + def next_all(self) -> "Scrobble": return ( - Scrobble.objects.order_by("-timestamp") - .exclude(id=self.id) - .filter(timestamp__lt=self.timestamp) + Scrobble.objects.filter(media_type=self.media_type) + .order_by("-timestamp") + .filter(timestamp__gt=self.timestamp) .first() ) @@ -626,7 +613,14 @@ class Scrobble(TimeStampedModel): def previous_all_media(self) -> "Scrobble": return ( Scrobble.objects.order_by("-timestamp") - .exclude(id=self.id) + .filter(timestamp__lt=self.timestamp) + .first() + ) + + @property + def next_all_media(self) -> "Scrobble": + return ( + Scrobble.objects.order_by("-timestamp") .filter(timestamp__gt=self.timestamp) .first() )