From 8f76c5b1182940ed5be67239b47d78f791e122b0 Mon Sep 17 00:00:00 2001 From: doubaniux Date: Sun, 25 Apr 2021 10:14:44 +0200 Subject: [PATCH] fix "more music" entry missing issue --- common/scraper.py | 5 ++++- users/views.py | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/common/scraper.py b/common/scraper.py index 9165f21f..9eaebe51 100644 --- a/common/scraper.py +++ b/common/scraper.py @@ -824,13 +824,13 @@ class SpotifyAlbumScraper(AbstractScraper): @classmethod def save(cls, request_user): - form = super().save(request_user) task = Thread( target=cls.add_tracks, args=(form.instance, request_user), daemon=True ) task.start() + form = super().save(request_user) return form @classmethod @@ -1154,6 +1154,9 @@ class SteamGameScraper(AbstractScraper): def find_entity(source_url): + """ + for bangumi + """ # to be added when new scrape method is implemented result = Game.objects.filter(source_url=source_url) if result: diff --git a/users/views.py b/users/views.py index 20b229ca..ba2a1363 100644 --- a/users/views.py +++ b/users/views.py @@ -234,17 +234,30 @@ def home(request, id): # music marks do_music_marks = list(song_marks.filter(status=MarkStatusEnum.DO)[:MUSIC_PER_SET]) \ + list(album_marks.filter(status=MarkStatusEnum.DO)[:MUSIC_PER_SET]) - do_music_more = True if len(do_music_marks) > MUSIC_PER_SET else False + if song_marks.filter(status=MarkStatusEnum.DO).count() +\ + album_marks.filter(status=MarkStatusEnum.DO).count() > MUSIC_PER_SET: + do_music_more = True + else: + do_music_more = False do_music_marks = sorted(do_music_marks, key=lambda e: e.edited_time, reverse=True)[:MUSIC_PER_SET] wish_music_marks = list(song_marks.filter(status=MarkStatusEnum.WISH)[:MUSIC_PER_SET]) \ + list(album_marks.filter(status=MarkStatusEnum.WISH)[:MUSIC_PER_SET]) + if song_marks.filter(status=MarkStatusEnum.WISH).count() +\ + album_marks.filter(status=MarkStatusEnum.WISH).count() > MUSIC_PER_SET: + wish_music_more = True + else: + wish_music_more = False wish_music_more = True if len(wish_music_marks) > MUSIC_PER_SET else False wish_music_marks = sorted(wish_music_marks, key=lambda e: e.edited_time, reverse=True)[:MUSIC_PER_SET] collect_music_marks = list(song_marks.filter(status=MarkStatusEnum.COLLECT)[:MUSIC_PER_SET]) \ + list(album_marks.filter(status=MarkStatusEnum.COLLECT)[:MUSIC_PER_SET]) - collect_music_more = True if len(collect_music_marks) > MUSIC_PER_SET else False + if song_marks.filter(status=MarkStatusEnum.COLLECT).count() +\ + album_marks.filter(status=MarkStatusEnum.COLLECT).count() > MUSIC_PER_SET: + collect_music_more = True + else: + collect_music_more = False collect_music_marks = sorted(collect_music_marks, key=lambda e: e.edited_time, reverse=True)[:MUSIC_PER_SET] for mark in do_music_marks + wish_music_marks + collect_music_marks: