Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2658>
environments/review-docs-2079-tp5oqz/deployments/19381
Petitminion 2023-11-30 19:38:25 +01:00 zatwierdzone przez Ciarán Ainsworth
rodzic 6414302899
commit 17c4a92f77
6 zmienionych plików z 18 dodań i 29 usunięć

Wyświetl plik

@ -4,13 +4,6 @@ from django.utils import timezone
import funkwhale_api
import pylistenbrainz
<<<<<<< HEAD
=======
from config import plugins
from django.utils import timezone
from . import tasks
>>>>>>> bf0c861a0 (implement listening and favorite sync with listenbrainz)
from .funkwhale_startup import PLUGIN
from funkwhale_api.history import models as history_models
@ -25,17 +18,10 @@ def submit_listen(listening, conf, **kwargs):
logger = PLUGIN["logger"]
logger.info("Submitting listen to ListenBrainz")
<<<<<<< HEAD
client = liblistenbrainz.ListenBrainz()
client.set_auth_token(user_token)
listen = get_listen(listening.track)
=======
listen = get_listen(listening.track)
client = pylistenbrainz.ListenBrainz()
client.set_auth_token(user_token)
>>>>>>> bf0c861a0 (implement listening and favorite sync with listenbrainz)
client.submit_single_listen(listen)
@ -65,19 +51,13 @@ def get_listen(track):
if upload:
additional_info["duration"] = upload.duration
<<<<<<< HEAD
return liblistenbrainz.Listen(
=======
return pylistenbrainz.Listen(
>>>>>>> bf0c861a0 (implement listening and favorite sync with listenbrainz)
track_name=track.title,
artist_name=track.artist.name,
listened_at=int(timezone.now()),
release_name=release_name,
additional_info=additional_info,
)
<<<<<<< HEAD
=======
@plugins.register_hook(plugins.FAVORITE_CREATED, PLUGIN)
@ -152,4 +132,3 @@ def sync_favorites_from_listenbrainz(user, conf):
)
except history_models.Listening.DoesNotExist:
tasks.import_listenbrainz_favorites(user, user_name, last_ts)
>>>>>>> bf0c861a0 (implement listening and favorite sync with listenbrainz)

Wyświetl plik

@ -1,13 +1,12 @@
import datetime
import pylistenbrainz
from config import plugins
from django.utils import timezone
from funkwhale_api.users import models
from funkwhale_api.taskapp import celery
from config import plugins
from funkwhale_api.history import models as history_models
from funkwhale_api.music import models as music_models
from funkwhale_api.taskapp import celery
from funkwhale_api.users import models
@celery.app.task(name="listenbrainz.trigger_listening_sync_with_listenbrainz")

Wyświetl plik

@ -1,11 +1,10 @@
from config import plugins
from django.db.models import Prefetch
from drf_spectacular.utils import extend_schema
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.activity import record
from funkwhale_api.common import fields, permissions
from funkwhale_api.music import utils as music_utils

Wyświetl plik

@ -27,7 +27,7 @@ from funkwhale_api.activity import record
from funkwhale_api.federation import actors
from funkwhale_api.moderation import mrf
from funkwhale_api.music import licenses
from funkwhale_api.contrib import listenbrainz
from . import utils as test_utils
pytest_plugins = "aiohttp.pytest_plugin"
@ -277,6 +277,16 @@ def disabled_musicbrainz(mocker):
)
# @pytest.fixture()
# def disabled_listenbrainz(mocker):
# # we ensure no listenbrainz requests gets out
# yield mocker.patch.object(
# listenbrainz.client.ListenBrainzClient,
# "_submit",
# return_value=None,
# )
@pytest.fixture(autouse=True)
def r_mock(requests_mock):
"""

Wyświetl plik

@ -1,7 +1,8 @@
import datetime
import pytest
import pylistenbrainz
import pytest
from funkwhale_api.contrib.listenbrainz import tasks
from funkwhale_api.history import models as history_models

Wyświetl plik

@ -0,0 +1 @@
Add favorite and listening sync ith Listenbrainz (#2079)