only trigger hook on playlists
This commit is contained in:
parent
adbb84d9d5
commit
ba7af9491e
|
@ -188,4 +188,5 @@ def filter_files(files, allowed_extensions):
|
||||||
|
|
||||||
def get_search_url(query, page_size, page):
|
def get_search_url(query, page_size, page):
|
||||||
q = urllib.parse.urlencode({"q": query})
|
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"
|
||||||
|
|
|
@ -130,7 +130,7 @@ class PlaylistViewSet(
|
||||||
plts = playlist.playlist_tracks.all().for_nested_serialization(
|
plts = playlist.playlist_tracks.all().for_nested_serialization(
|
||||||
music_utils.get_actor_from_request(request)
|
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]:
|
for plt in plts_without_upload[: settings.THIRD_PARTY_UPLOAD_MAX_UPLOADS]:
|
||||||
plugins.trigger_hook(
|
plugins.trigger_hook(
|
||||||
plugins.TRIGGER_THIRD_PARTY_UPLOAD,
|
plugins.TRIGGER_THIRD_PARTY_UPLOAD,
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import pickle
|
import pickle
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from django.db.models import Q
|
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.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from config import plugins
|
|
||||||
from funkwhale_api.common import permissions as common_permissions
|
from funkwhale_api.common import permissions as common_permissions
|
||||||
from funkwhale_api.music import utils as music_utils
|
from funkwhale_api.music import utils as music_utils
|
||||||
from funkwhale_api.music.serializers import TrackSerializer
|
from funkwhale_api.music.serializers import TrackSerializer
|
||||||
|
@ -54,14 +52,8 @@ class RadioViewSet(
|
||||||
def tracks(self, request, *args, **kwargs):
|
def tracks(self, request, *args, **kwargs):
|
||||||
radio = self.get_object()
|
radio = self.get_object()
|
||||||
tracks = radio.get_candidates().for_nested_serialization()
|
tracks = radio.get_candidates().for_nested_serialization()
|
||||||
tracks_without_upload = tracks.filter(uploads__isnull=True)
|
|
||||||
actor = music_utils.get_actor_from_request(self.request)
|
actor = music_utils.get_actor_from_request(self.request)
|
||||||
tracks = tracks.with_playable_uploads(actor)
|
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)
|
tracks = tracks.playable_by(actor)
|
||||||
page = self.paginate_queryset(tracks)
|
page = self.paginate_queryset(tracks)
|
||||||
if page is not None:
|
if page is not None:
|
||||||
|
|
Loading…
Reference in New Issue