From ba7af9491e0424d8cbb4d7dd5d6ac3c29e766c34 Mon Sep 17 00:00:00 2001 From: Petitminion Date: Sun, 27 Apr 2025 20:21:31 +0200 Subject: [PATCH] only trigger hook on playlists --- api/funkwhale_api/contrib/archivedl/tasks.py | 3 ++- api/funkwhale_api/playlists/views.py | 2 +- api/funkwhale_api/radios/views.py | 8 -------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/api/funkwhale_api/contrib/archivedl/tasks.py b/api/funkwhale_api/contrib/archivedl/tasks.py index 778328a7b..7b4096796 100644 --- a/api/funkwhale_api/contrib/archivedl/tasks.py +++ b/api/funkwhale_api/contrib/archivedl/tasks.py @@ -188,4 +188,5 @@ def filter_files(files, allowed_extensions): def get_search_url(query, page_size, page): q = urllib.parse.urlencode({"q": query}) - return f"https://archive.org/advancedsearch.php?{q}&sort[]=addeddate+desc&rows={page_size}&page={page}&output=json" + return f"https://archive.org/advancedsearch.php?{q}&sort[]=addeddate+desc&rows={page_size}\ + &page={page}&output=json&mediatype=audio" diff --git a/api/funkwhale_api/playlists/views.py b/api/funkwhale_api/playlists/views.py index 9cb1c2034..c44d9c602 100644 --- a/api/funkwhale_api/playlists/views.py +++ b/api/funkwhale_api/playlists/views.py @@ -130,7 +130,7 @@ class PlaylistViewSet( plts = playlist.playlist_tracks.all().for_nested_serialization( music_utils.get_actor_from_request(request) ) - plts_without_upload = plts.filter(track__uploads__isnull=False) + plts_without_upload = plts.filter(track__uploads__isnull=True) for plt in plts_without_upload[: settings.THIRD_PARTY_UPLOAD_MAX_UPLOADS]: plugins.trigger_hook( plugins.TRIGGER_THIRD_PARTY_UPLOAD, diff --git a/api/funkwhale_api/radios/views.py b/api/funkwhale_api/radios/views.py index 3f018cc11..5799121a0 100644 --- a/api/funkwhale_api/radios/views.py +++ b/api/funkwhale_api/radios/views.py @@ -1,6 +1,5 @@ import pickle -from django.conf import settings from django.contrib.auth.models import AnonymousUser from django.core.cache import cache from django.db.models import Q @@ -9,7 +8,6 @@ from rest_framework import mixins, status, viewsets from rest_framework.decorators import action from rest_framework.response import Response -from config import plugins from funkwhale_api.common import permissions as common_permissions from funkwhale_api.music import utils as music_utils from funkwhale_api.music.serializers import TrackSerializer @@ -54,14 +52,8 @@ class RadioViewSet( def tracks(self, request, *args, **kwargs): radio = self.get_object() tracks = radio.get_candidates().for_nested_serialization() - tracks_without_upload = tracks.filter(uploads__isnull=True) actor = music_utils.get_actor_from_request(self.request) tracks = tracks.with_playable_uploads(actor) - for track in tracks_without_upload[: settings.THIRD_PARTY_UPLOAD_MAX_UPLOADS]: - plugins.trigger_hook( - plugins.TRIGGER_THIRD_PARTY_UPLOAD, - track=track, - ) tracks = tracks.playable_by(actor) page = self.paginate_queryset(tracks) if page is not None: