diff --git a/api/funkwhale_api/common/management/commands/script.py b/api/funkwhale_api/common/management/commands/script.py index 03e32d5dd799a21ffe7e7d44280a53ec4befe778..b46a4327b0996a97aadd49a6b3066e99644c6e7c 100644 --- a/api/funkwhale_api/common/management/commands/script.py +++ b/api/funkwhale_api/common/management/commands/script.py @@ -41,7 +41,6 @@ class Command(BaseCommand): script["entrypoint"](self, **options) def show_help(self): - indentation = 4 self.stdout.write("") self.stdout.write("Available scripts:") self.stdout.write("Launch with: python manage.py <script_name>") diff --git a/api/funkwhale_api/common/serializers.py b/api/funkwhale_api/common/serializers.py index 8cc85ec0c9cb75e433952fe44fd145c3a0f2a667..029338ef992c6a57e3d88f096d4c7619df39d63b 100644 --- a/api/funkwhale_api/common/serializers.py +++ b/api/funkwhale_api/common/serializers.py @@ -40,7 +40,6 @@ class ActionSerializer(serializers.Serializer): return value def validate_objects(self, value): - qs = None if value == "all": return self.queryset.all().order_by("id") if type(value) in [list, tuple]: diff --git a/api/funkwhale_api/downloader/downloader.py b/api/funkwhale_api/downloader/downloader.py index 3599b86ef1861e590caa63622526c72f71fafbaf..41ae7299582a43f9e5b3326da1e0262188de3bac 100644 --- a/api/funkwhale_api/downloader/downloader.py +++ b/api/funkwhale_api/downloader/downloader.py @@ -1,9 +1,6 @@ import os -import json -from urllib.parse import quote_plus import youtube_dl from django.conf import settings -import glob def download( diff --git a/api/funkwhale_api/federation/actors.py b/api/funkwhale_api/federation/actors.py index 32b54565669a9574e90e29f34ec750b35ceec26f..c6c3bd8167297f6743a2b2a0ebd6525aece56bf2 100644 --- a/api/funkwhale_api/federation/actors.py +++ b/api/funkwhale_api/federation/actors.py @@ -1,6 +1,5 @@ import datetime import logging -import uuid import xml from django.conf import settings @@ -155,7 +154,6 @@ class SystemActor(object): return handler(data, actor) def handle_follow(self, ac, sender): - system_actor = self.get_actor_instance() serializer = serializers.FollowSerializer( data=ac, context={"follow_actor": sender} ) @@ -325,7 +323,6 @@ class TestActor(SystemActor): reply_url = "https://{}/activities/note/{}".format( settings.FEDERATION_HOSTNAME, now.timestamp() ) - reply_content = "{} Pong!".format(sender.mention_username) reply_activity = { "@context": [ "https://www.w3.org/ns/activitystreams", diff --git a/api/funkwhale_api/federation/serializers.py b/api/funkwhale_api/federation/serializers.py index 367ca99296f546040c9496b4bd62a1452185b086..51ae39f0d54c12cdfbdf221969cc747be4e61d45 100644 --- a/api/funkwhale_api/federation/serializers.py +++ b/api/funkwhale_api/federation/serializers.py @@ -687,7 +687,7 @@ class AudioSerializer(serializers.Serializer): def validate_url(self, v): try: - url = v["href"] + v["href"] except (KeyError, TypeError): raise serializers.ValidationError("Missing href") diff --git a/api/funkwhale_api/federation/signing.py b/api/funkwhale_api/federation/signing.py index 46e7ae55a38eaf82a0e207ffccba78fd86462bab..bb02f042b43945359adb3530d0bb13f21ef31502 100644 --- a/api/funkwhale_api/federation/signing.py +++ b/api/funkwhale_api/federation/signing.py @@ -47,7 +47,7 @@ def verify_django(django_request, public_key): v = request.headers[h] if v: request.headers[h] = str(v) - prepared_request = request.prepare() + request.prepare() return verify(request, public_key) diff --git a/api/funkwhale_api/federation/views.py b/api/funkwhale_api/federation/views.py index 36bf1a4443653a48001d94e5a7a4f8ff43687289..87564b507208c92da2eb92ff7a3016a08a175b6a 100644 --- a/api/funkwhale_api/federation/views.py +++ b/api/funkwhale_api/federation/views.py @@ -249,7 +249,7 @@ class LibraryViewSet( def create(self, request, *args, **kwargs): serializer = serializers.APILibraryCreateSerializer(data=request.data) serializer.is_valid(raise_exception=True) - library = serializer.save() + serializer.save() return response.Response(serializer.data, status=201) diff --git a/api/funkwhale_api/instance/nodeinfo.py b/api/funkwhale_api/instance/nodeinfo.py index ea982a63fea5f8ae5037c4f40cf7da3b49fc8625..9077a34bc889e0afba9b3b13fec326a7f4afd51d 100644 --- a/api/funkwhale_api/instance/nodeinfo.py +++ b/api/funkwhale_api/instance/nodeinfo.py @@ -12,7 +12,6 @@ memo = memoize.Memoizer(store, namespace="instance:stats") def get(): share_stats = preferences.get("instance__nodeinfo_stats_enabled") - private = preferences.get("instance__nodeinfo_private") data = { "version": "2.0", "software": {"name": "funkwhale", "version": funkwhale_api.__version__}, diff --git a/api/funkwhale_api/music/lyrics.py b/api/funkwhale_api/music/lyrics.py index 4fd31d92cd13f46a87c12fb34576076bc8a933cd..2cf1cff75af7c7d3aed8543cc1350de4e5c5e1ed 100644 --- a/api/funkwhale_api/music/lyrics.py +++ b/api/funkwhale_api/music/lyrics.py @@ -1,5 +1,4 @@ import urllib.request -import html.parser from bs4 import BeautifulSoup diff --git a/api/funkwhale_api/music/management/commands/fix_track_files.py b/api/funkwhale_api/music/management/commands/fix_track_files.py index 94dd4fb9f74f73740b4cec8c30cccc5526cca940..8f6e4e61d954f14bf5e5e153b964a231621719a4 100644 --- a/api/funkwhale_api/music/management/commands/fix_track_files.py +++ b/api/funkwhale_api/music/management/commands/fix_track_files.py @@ -1,5 +1,4 @@ import cacheops -import os from django.db import transaction from django.db.models import Q diff --git a/api/funkwhale_api/music/migrations/0011_rename_files.py b/api/funkwhale_api/music/migrations/0011_rename_files.py index 7152cca3b15942bb87ed82bc1c4d252a416632d9..2b120370cdd90dc7706f819906d7247d67d64328 100644 --- a/api/funkwhale_api/music/migrations/0011_rename_files.py +++ b/api/funkwhale_api/music/migrations/0011_rename_files.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import os from django.db import migrations, models from funkwhale_api.common.utils import rename_file diff --git a/api/funkwhale_api/music/migrations/0015_bind_track_file_to_import_job.py b/api/funkwhale_api/music/migrations/0015_bind_track_file_to_import_job.py index 9762864f1e74af30586f7f7b578f5436e4931f7f..6806ea8cad08d581e1ce791c8851b23d972c5fa6 100644 --- a/api/funkwhale_api/music/migrations/0015_bind_track_file_to_import_job.py +++ b/api/funkwhale_api/music/migrations/0015_bind_track_file_to_import_job.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import os from django.db import migrations, models from funkwhale_api.common.utils import rename_file diff --git a/api/funkwhale_api/music/migrations/0019_populate_mimetypes.py b/api/funkwhale_api/music/migrations/0019_populate_mimetypes.py index 55f9a127ad5e82f1637234b3db37a038ca67c36f..b3fac0d93e7d0b1f15582f79e0feb7c4310aafe0 100644 --- a/api/funkwhale_api/music/migrations/0019_populate_mimetypes.py +++ b/api/funkwhale_api/music/migrations/0019_populate_mimetypes.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import os from django.db import migrations, models from funkwhale_api.music.utils import guess_mimetype diff --git a/api/funkwhale_api/music/migrations/0021_populate_batch_status.py b/api/funkwhale_api/music/migrations/0021_populate_batch_status.py index 5bda0edfbdee319417265340395c3eea50544a44..25149bda19080de2bbb9b489bbae161fdda63b88 100644 --- a/api/funkwhale_api/music/migrations/0021_populate_batch_status.py +++ b/api/funkwhale_api/music/migrations/0021_populate_batch_status.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import os from django.db import migrations, models diff --git a/api/funkwhale_api/music/migrations/0024_populate_uuid.py b/api/funkwhale_api/music/migrations/0024_populate_uuid.py index 349a901fc4ca3b214877a5b520bcfb2c9584b818..63ab6386257bdbd3dc51a9b57ffbbbacc4208286 100644 --- a/api/funkwhale_api/music/migrations/0024_populate_uuid.py +++ b/api/funkwhale_api/music/migrations/0024_populate_uuid.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import os import uuid from django.db import migrations, models diff --git a/api/funkwhale_api/music/models.py b/api/funkwhale_api/music/models.py index d4625a435f6c84d48bcb2b94d6f67ed838b15eca..95056738fca67b7556b9482d98f6b49120d0af93 100644 --- a/api/funkwhale_api/music/models.py +++ b/api/funkwhale_api/music/models.py @@ -1,5 +1,4 @@ import os -import io import arrow import datetime import tempfile diff --git a/api/funkwhale_api/music/views.py b/api/funkwhale_api/music/views.py index 15421fa3811ab2e32c13d5e43bcd013ecac222f8..6c916b62d147b4787a9328e069fda26ee822885d 100644 --- a/api/funkwhale_api/music/views.py +++ b/api/funkwhale_api/music/views.py @@ -1,8 +1,6 @@ import ffmpeg -import os import json import logging -import subprocess import unicodedata import urllib diff --git a/api/funkwhale_api/providers/audiofile/management/commands/import_files.py b/api/funkwhale_api/providers/audiofile/management/commands/import_files.py index 9114375e0745d42d1fd9c6cbb013c746b8144258..45b428790f373e9635237dc35634700ecd79128c 100644 --- a/api/funkwhale_api/providers/audiofile/management/commands/import_files.py +++ b/api/funkwhale_api/providers/audiofile/management/commands/import_files.py @@ -178,7 +178,6 @@ class Command(BaseCommand): async = options["async"] import_handler = tasks.import_job_run.delay if async else tasks.import_job_run batch = user.imports.create(source="shell") - total = len(paths) errors = [] for i, path in list(enumerate(paths)): try: diff --git a/api/funkwhale_api/providers/audiofile/tasks.py b/api/funkwhale_api/providers/audiofile/tasks.py index afd54dc24b18437e591c815080cca5081465a778..a4426a0093b857109d76cb473b8c7008556b03c1 100644 --- a/api/funkwhale_api/providers/audiofile/tasks.py +++ b/api/funkwhale_api/providers/audiofile/tasks.py @@ -1,6 +1,5 @@ import acoustid import os -import datetime from django.core.files import File from django.db import transaction diff --git a/api/funkwhale_api/radios/radios.py b/api/funkwhale_api/radios/radios.py index f876d03b28730145db23a244fd1890dc51912722..7e3c1ab5ad3ecaf8f5bfcdb7b287388d8585f1ed 100644 --- a/api/funkwhale_api/radios/radios.py +++ b/api/funkwhale_api/radios/radios.py @@ -147,7 +147,7 @@ class TagRadio(RelatedObjectRadio): def get_queryset(self, **kwargs): qs = super().get_queryset(**kwargs) - return Track.objects.filter(tags__in=[self.session.related_object]) + return qs.filter(tags__in=[self.session.related_object]) @registry.register(name="artist") diff --git a/api/funkwhale_api/radios/views.py b/api/funkwhale_api/radios/views.py index 1d933a2939ea95cb375f60c7368ca6504a2f71ca..8478f49e07616a23d4cdfcf4107d67481aaa7c71 100644 --- a/api/funkwhale_api/radios/views.py +++ b/api/funkwhale_api/radios/views.py @@ -108,7 +108,7 @@ class RadioSessionTrackViewSet(mixins.CreateModelMixin, viewsets.GenericViewSet) assert request.user == session.user except AssertionError: return Response(status=status.HTTP_403_FORBIDDEN) - track = session.radio.pick() + session.radio.pick() session_track = session.session_tracks.all().latest("id") # self.perform_create(serializer) # dirty override here, since we use a different serializer for creation and detail diff --git a/api/funkwhale_api/subsonic/negotiation.py b/api/funkwhale_api/subsonic/negotiation.py index 2b46b1753006f202d8a633fa461ad0b43f16b40b..4198756eddb04ef8486f8070e01f4c09643e5296 100644 --- a/api/funkwhale_api/subsonic/negotiation.py +++ b/api/funkwhale_api/subsonic/negotiation.py @@ -12,7 +12,6 @@ MAPPING = { class SubsonicContentNegociation(negotiation.DefaultContentNegotiation): def select_renderer(self, request, renderers, format_suffix=None): - path = request.path data = request.GET or request.POST requested_format = data.get("f", "xml") try: diff --git a/api/funkwhale_api/subsonic/views.py b/api/funkwhale_api/subsonic/views.py index 85d120a08640b506d7223d5ea4699b308967c8a1..e6fc2df712fa2f5e563f4519d075c0aeaccb779f 100644 --- a/api/funkwhale_api/subsonic/views.py +++ b/api/funkwhale_api/subsonic/views.py @@ -158,7 +158,6 @@ class SubsonicViewSet(viewsets.GenericViewSet): ) @find_object(music_models.Artist.objects.all()) def get_artist_info2(self, request, *args, **kwargs): - artist = kwargs.pop("obj") payload = {"artist-info2": {}} return response.Response(payload, status=200) diff --git a/api/tests/activity/test_views.py b/api/tests/activity/test_views.py index 188039e664db3e89e8a2da6ff0d7d7bc1c509056..6f13c828710fd7255c06be542efdd6510a7ed7cc 100644 --- a/api/tests/activity/test_views.py +++ b/api/tests/activity/test_views.py @@ -7,7 +7,7 @@ from funkwhale_api.activity import utils def test_activity_view(factories, api_client, preferences, anonymous_user): preferences["common__api_authentication_required"] = False favorite = factories["favorites.TrackFavorite"](user__privacy_level="everyone") - listening = factories["history.Listening"]() + factories["history.Listening"]() url = reverse("api:v1:activity-list") objects = utils.get_activity(anonymous_user) serializer = serializers.AutoSerializer(objects, many=True) diff --git a/api/tests/common/test_preferences.py b/api/tests/common/test_preferences.py index 5ea398c87fbeb75ae4f1c2a72adcef4d61205c06..d9b53b29b9fcbefde642ccd509f859ea19233880 100644 --- a/api/tests/common/test_preferences.py +++ b/api/tests/common/test_preferences.py @@ -26,14 +26,14 @@ def string_list_pref(preferences): ], ) def test_string_list_serializer_to_db(input, output): - s = common_preferences.StringListSerializer.to_db(input) == output + common_preferences.StringListSerializer.to_db(input) == output @pytest.mark.parametrize( "input,output", [("a,b,c", ["a", "b", "c"]), (None, []), ("", [])] ) def test_string_list_serializer_to_python(input, output): - s = common_preferences.StringListSerializer.to_python(input) == output + common_preferences.StringListSerializer.to_python(input) == output def test_string_list_pref_default(string_list_pref, preferences): diff --git a/api/tests/common/test_serializers.py b/api/tests/common/test_serializers.py index 1bf13b1e0243a5d36637e3e158cbef9ab62bac14..ca5e5ad8f6fd2317af880eef0aec3f28b1184b04 100644 --- a/api/tests/common/test_serializers.py +++ b/api/tests/common/test_serializers.py @@ -47,7 +47,7 @@ def test_action_serializer_validates_objects(): def test_action_serializers_objects_clean_ids(factories): user1 = factories["users.User"]() - user2 = factories["users.User"]() + factories["users.User"]() data = {"objects": [user1.pk], "action": "test"} serializer = TestSerializer(data, queryset=models.User.objects.all()) @@ -69,8 +69,8 @@ def test_action_serializers_objects_clean_all(factories): def test_action_serializers_save(factories, mocker): handler = mocker.spy(TestSerializer, "handle_test") - user1 = factories["users.User"]() - user2 = factories["users.User"]() + factories["users.User"]() + factories["users.User"]() data = {"objects": "all", "action": "test"} serializer = TestSerializer(data, queryset=models.User.objects.all()) @@ -82,7 +82,7 @@ def test_action_serializers_save(factories, mocker): def test_action_serializers_filterset(factories): - user1 = factories["users.User"](is_active=False) + factories["users.User"](is_active=False) user2 = factories["users.User"](is_active=True) data = {"objects": "all", "action": "test", "filters": {"is_active": True}} diff --git a/api/tests/conftest.py b/api/tests/conftest.py index 080e1a927a61b74188a5b15b927bc3de97e541a5..787831b0042ec8e2e657149d9ee305fc70efde1e 100644 --- a/api/tests/conftest.py +++ b/api/tests/conftest.py @@ -186,7 +186,6 @@ def fake_request(): @pytest.fixture def activity_registry(): - r = record.registry state = list(record.registry.items()) yield record.registry record.registry.clear() diff --git a/api/tests/federation/test_activity.py b/api/tests/federation/test_activity.py index 8e9000ce013cf21c1df7bc3545d9e064e460002c..78ad389d1162b39a8013b3f5678d02699f159ab1 100644 --- a/api/tests/federation/test_activity.py +++ b/api/tests/federation/test_activity.py @@ -1,4 +1,3 @@ -import uuid from funkwhale_api.federation import activity from funkwhale_api.federation import serializers diff --git a/api/tests/federation/test_actors.py b/api/tests/federation/test_actors.py index 99c71b34820ac8f9f6f0656464d3436547f74940..f978079dc5c6f1362280850a58d7fe2108749d00 100644 --- a/api/tests/federation/test_actors.py +++ b/api/tests/federation/test_actors.py @@ -1,6 +1,5 @@ import arrow import pytest -import uuid from django.urls import reverse from django.utils import timezone @@ -350,7 +349,7 @@ def test_library_actor_handles_follow_manual_approval(preferences, mocker, facto def test_library_actor_handles_follow_auto_approval(preferences, mocker, factories): preferences["federation__music_needs_approval"] = False actor = factories["federation.Actor"]() - accept_follow = mocker.patch("funkwhale_api.federation.activity.accept_follow") + mocker.patch("funkwhale_api.federation.activity.accept_follow") library_actor = actors.SYSTEM_ACTORS["library"].get_actor_instance() data = { "actor": actor.url, diff --git a/api/tests/federation/test_models.py b/api/tests/federation/test_models.py index be353cb670a3e7c2103a056559923c532561ecc2..c5defcfee3945b32548b1e0e69480bd8e6dd9cff 100644 --- a/api/tests/federation/test_models.py +++ b/api/tests/federation/test_models.py @@ -1,5 +1,4 @@ import pytest -import uuid from django import db diff --git a/api/tests/federation/test_signing.py b/api/tests/federation/test_signing.py index e88425e8f35de101a6d78a5b87e9f7227f57fcf3..1ebaaf82626ec3b83ec4e45f0483e5bfd86a9e1a 100644 --- a/api/tests/federation/test_signing.py +++ b/api/tests/federation/test_signing.py @@ -1,5 +1,4 @@ import cryptography.exceptions -import io import pytest import requests_http_signature diff --git a/api/tests/federation/test_views.py b/api/tests/federation/test_views.py index 2b0e47cdb112911fb66ccfba681afb229d60cdcf..e277fd0f3dfeb9ad2e3bfb9814f9b1f5bb0ff6c8 100644 --- a/api/tests/federation/test_views.py +++ b/api/tests/federation/test_views.py @@ -159,7 +159,6 @@ def test_audio_file_list_actor_page_exclude_federated_files( db, preferences, api_client, factories ): preferences["federation__music_needs_approval"] = False - library = actors.SYSTEM_ACTORS["library"].get_actor_instance() tfs = factories["music.TrackFile"].create_batch(size=5, federation=True) url = reverse("federation:music:files-list") @@ -188,7 +187,6 @@ def test_audio_file_list_actor_page_error_too_far( def test_library_actor_includes_library_link(db, preferences, api_client): - actor = actors.SYSTEM_ACTORS["library"].get_actor_instance() url = reverse("federation:instance-actors-detail", kwargs={"actor": "library"}) response = api_client.get(url) expected_links = [ @@ -263,7 +261,7 @@ def test_follow_library(superuser_api_client, mocker, factories, r_mock): def test_can_list_system_actor_following(factories, superuser_api_client): library_actor = actors.SYSTEM_ACTORS["library"].get_actor_instance() follow1 = factories["federation.Follow"](actor=library_actor) - follow2 = factories["federation.Follow"]() + factories["federation.Follow"]() url = reverse("api:v1:federation:libraries-following") response = superuser_api_client.get(url) diff --git a/api/tests/history/test_history.py b/api/tests/history/test_history.py index 016c2a98786b4c5dc4b2520f99e95bb1bf85d607..e43e79ba70e0ae54558cf0eb1a0e0a47d41c85cc 100644 --- a/api/tests/history/test_history.py +++ b/api/tests/history/test_history.py @@ -1,5 +1,3 @@ -import random -import json from django.urls import reverse from django.core.exceptions import ValidationError from django.utils import timezone @@ -10,7 +8,6 @@ from funkwhale_api.history import models def test_can_create_listening(factories): track = factories["music.Track"]() user = factories["users.User"]() - now = timezone.now() l = models.Listening.objects.create(user=user, track=track) diff --git a/api/tests/music/test_commands.py b/api/tests/music/test_commands.py index 9f8bad6c290c70e8a33de43ede924e9f2292c8f2..03a9420dc77e598231fe0ac9056bea67868a3897 100644 --- a/api/tests/music/test_commands.py +++ b/api/tests/music/test_commands.py @@ -49,7 +49,6 @@ def test_fix_track_files_size(factories, mocker): def test_fix_track_files_mimetype(factories, mocker): - name = "test.mp3" mp3_path = os.path.join(DATA_DIR, "test.mp3") ogg_path = os.path.join(DATA_DIR, "test.ogg") tf1 = factories["music.TrackFile"]( diff --git a/api/tests/music/test_import.py b/api/tests/music/test_import.py index 9ea8c4ec8505e058b8fe001491dea3edd02143f6..aae3583ed4fe753e0667f37f61101ae7e2f000e2 100644 --- a/api/tests/music/test_import.py +++ b/api/tests/music/test_import.py @@ -195,7 +195,7 @@ def test_import_batch_notifies_followers(factories, mocker): f1 = factories["federation.Follow"](approved=True, target=library_actor) f2 = factories["federation.Follow"](approved=False, target=library_actor) - f3 = factories["federation.Follow"]() + factories["federation.Follow"]() mocked_deliver = mocker.patch("funkwhale_api.federation.activity.deliver") batch = factories["music.ImportBatch"]() diff --git a/api/tests/music/test_lyrics.py b/api/tests/music/test_lyrics.py index c15e3063732ce8b7ebab850a723eef16d26415b8..5d97c7ae206125f26f9a13806829d4d1a82cc153 100644 --- a/api/tests/music/test_lyrics.py +++ b/api/tests/music/test_lyrics.py @@ -1,4 +1,3 @@ -import json from django.urls import reverse from funkwhale_api.music import models diff --git a/api/tests/music/test_tasks.py b/api/tests/music/test_tasks.py index 1d35e75e29a7adf4c1b90199ee0c6696e90326c9..f38f4143918b2b511eab732a0e4ee3e756dfa656 100644 --- a/api/tests/music/test_tasks.py +++ b/api/tests/music/test_tasks.py @@ -44,7 +44,6 @@ def test_set_acoustid_on_track_file(factories, mocker, preferences): def test_set_acoustid_on_track_file_required_high_score(factories, mocker): track_file = factories["music.TrackFile"](acoustid_track_id=None) - id = "e475bf79-c1ce-4441-bed7-1e33f226c0a2" payload = {"results": [{"score": 0.79}], "status": "ok"} m = mocker.patch("acoustid.match", return_value=payload) r = tasks.set_acoustid_on_track_file(track_file_id=track_file.pk) @@ -159,7 +158,6 @@ def test_import_job_skip_if_already_exists(artists, albums, tracks, factories, m ) job = factories["music.FileImportJob"](audio_file__path=path) - f = job.audio_file tasks.import_job_run(import_job_id=job.pk) job.refresh_from_db() @@ -219,7 +217,6 @@ def test_update_album_cover_mbid(factories, mocker): def test_update_album_cover_file_data(factories, mocker): - path = os.path.join(DATA_DIR, "test.mp3") album = factories["music.Album"](cover="", mbid=None) tf = factories["music.TrackFile"](track__album=album) @@ -236,7 +233,6 @@ def test_update_album_cover_file_data(factories, mocker): @pytest.mark.parametrize("ext,mimetype", [("jpg", "image/jpeg"), ("png", "image/png")]) def test_update_album_cover_file_cover_separate_file(ext, mimetype, factories, mocker): mocker.patch("funkwhale_api.music.tasks.IMAGE_TYPES", [(ext, mimetype)]) - path = os.path.join(DATA_DIR, "test.mp3") image_path = os.path.join(DATA_DIR, "cover.{}".format(ext)) with open(image_path, "rb") as f: image_content = f.read() diff --git a/api/tests/music/test_views.py b/api/tests/music/test_views.py index 139a33cf5dbd70dd206db56805a45b3a484fccf6..840dd966633bd6d6cf4169739d39a1ed8e49f042 100644 --- a/api/tests/music/test_views.py +++ b/api/tests/music/test_views.py @@ -334,7 +334,7 @@ def test_import_job_viewset_get_queryset_upload_filters_user( logged_in_api_client.user.permission_upload = True logged_in_api_client.user.save() - job = factories["music.ImportJob"]() + factories["music.ImportJob"]() url = reverse("api:v1:import-jobs-list") response = logged_in_api_client.get(url) @@ -347,7 +347,7 @@ def test_import_batch_viewset_get_queryset_upload_filters_user( logged_in_api_client.user.permission_upload = True logged_in_api_client.user.save() - job = factories["music.ImportBatch"]() + factories["music.ImportBatch"]() url = reverse("api:v1:import-batches-list") response = logged_in_api_client.get(url) diff --git a/api/tests/music/test_works.py b/api/tests/music/test_works.py index 6b2e57fdc908260178c36a76f0a60a765ce1446a..0d3c11ff0d1458321950c2810cc6ff40b4f6b033 100644 --- a/api/tests/music/test_works.py +++ b/api/tests/music/test_works.py @@ -1,4 +1,3 @@ -import json from django.urls import reverse from funkwhale_api.music import models diff --git a/api/tests/musicbrainz/test_api.py b/api/tests/musicbrainz/test_api.py index de84813f1f147b91a7198624df85f9742f88db58..a9f76890ee62a493187bf080d37d8ca9d5f74056 100644 --- a/api/tests/musicbrainz/test_api.py +++ b/api/tests/musicbrainz/test_api.py @@ -1,4 +1,3 @@ -import json from django.urls import reverse from funkwhale_api.musicbrainz import api diff --git a/api/tests/playlists/test_serializers.py b/api/tests/playlists/test_serializers.py index 05e5bd7cab4e46e828598515f91d349c32b83757..3a8bb6a22951dbac115114b01416c591765e7f61 100644 --- a/api/tests/playlists/test_serializers.py +++ b/api/tests/playlists/test_serializers.py @@ -53,7 +53,7 @@ def test_update_insert_is_called_when_index_is_provided(factories, mocker): second = factories["playlists.PlaylistTrack"](playlist=playlist, index=1) insert = mocker.spy(models.Playlist, "insert") factories["playlists.Playlist"]() - track = factories["music.Track"]() + factories["music.Track"]() serializer = serializers.PlaylistTrackWriteSerializer( second, data={"playlist": playlist.pk, "track": second.track.pk, "index": 0} ) diff --git a/api/tests/playlists/test_views.py b/api/tests/playlists/test_views.py index 7835a72588a7345b6cbececc3b3660e62ca53a2d..2cb1184721207f0e2c2d9fa7b7f77b688974efcb 100644 --- a/api/tests/playlists/test_views.py +++ b/api/tests/playlists/test_views.py @@ -1,4 +1,3 @@ -import json import pytest from django.urls import reverse @@ -13,7 +12,7 @@ def test_can_create_playlist_via_api(logged_in_api_client): url = reverse("api:v1:playlists-list") data = {"name": "test", "privacy_level": "everyone"} - response = logged_in_api_client.post(url, data) + logged_in_api_client.post(url, data) playlist = logged_in_api_client.user.playlists.latest("id") assert playlist.name == "test" @@ -38,7 +37,7 @@ def test_playlist_inherits_user_privacy(logged_in_api_client): data = {"name": "test"} - response = logged_in_api_client.post(url, data) + logged_in_api_client.post(url, data) playlist = user.playlists.latest("id") assert playlist.privacy_level == user.privacy_level @@ -80,7 +79,7 @@ def test_only_can_add_track_on_own_playlist_via_api(factories, logged_in_api_cli def test_deleting_plt_updates_indexes(mocker, factories, logged_in_api_client): remove = mocker.spy(models.Playlist, "remove") - track = factories["music.Track"]() + factories["music.Track"]() plt = factories["playlists.PlaylistTrack"]( index=0, playlist__user=logged_in_api_client.user ) diff --git a/api/tests/radios/test_filters.py b/api/tests/radios/test_filters.py index 025fc7a636ba074763b644dfa55b33e9880402ad..4b91f16384c18bf13820a3d32ae4cb3925cfa270 100644 --- a/api/tests/radios/test_filters.py +++ b/api/tests/radios/test_filters.py @@ -15,7 +15,7 @@ class NoopFilter(filters.RadioFilter): def test_most_simple_radio_does_not_filter_anything(factories): - tracks = factories["music.Track"].create_batch(3) + factories["music.Track"].create_batch(3) radio = factories["radios.Radio"](config=[{"type": "noop"}]) assert radio.version == 0 diff --git a/api/tests/radios/test_radios.py b/api/tests/radios/test_radios.py index ebc45f1f9415c4675b088ab6ebdfd69ff99209fe..95fe58b178f38293fa0e3255ce1b3bc62c21c2bb 100644 --- a/api/tests/radios/test_radios.py +++ b/api/tests/radios/test_radios.py @@ -75,7 +75,6 @@ def test_can_get_choices_for_custom_radio(factories): files = factories["music.TrackFile"].create_batch(5, track__artist=artist) tracks = [f.track for f in files] wrong_files = factories["music.TrackFile"].create_batch(5) - wrong_tracks = [f.track for f in wrong_files] session = factories["radios.CustomRadioSession"]( custom_radio__config=[{"type": "artist", "ids": [artist.pk]}] @@ -115,13 +114,12 @@ def test_can_start_custom_radio_from_api(logged_in_client, factories): def test_can_use_radio_session_to_filter_choices(factories): files = factories["music.TrackFile"].create_batch(30) - tracks = [f.track for f in files] user = factories["users.User"]() radio = radios.RandomRadio() session = radio.start_session(user) for i in range(30): - p = radio.pick() + radio.pick() # ensure 30 differents tracks have been suggested tracks_id = [ @@ -186,7 +184,6 @@ def test_can_start_artist_radio(factories): user = factories["users.User"]() artist = factories["music.Artist"]() wrong_files = factories["music.TrackFile"].create_batch(5) - wrong_tracks = [f.track for f in wrong_files] good_files = factories["music.TrackFile"].create_batch(5, track__artist=artist) good_tracks = [f.track for f in good_files] @@ -201,7 +198,6 @@ def test_can_start_tag_radio(factories): user = factories["users.User"]() tag = factories["taggit.Tag"]() wrong_files = factories["music.TrackFile"].create_batch(5) - wrong_tracks = [f.track for f in wrong_files] good_files = factories["music.TrackFile"].create_batch(5, track__tags=[tag]) good_tracks = [f.track for f in good_files] @@ -236,7 +232,7 @@ def test_can_start_less_listened_radio(factories): good_files = factories["music.TrackFile"].create_batch(5) good_tracks = [f.track for f in good_files] radio = radios.LessListenedRadio() - session = radio.start_session(user) + radio.start_session(user) for i in range(5): assert radio.pick() in good_tracks diff --git a/api/tests/subsonic/test_authentication.py b/api/tests/subsonic/test_authentication.py index f404c8b0ab3ac9c1d5e6c35e7cd80886df304e0b..03a863ca09164fa25aed2aa2eb5efc2b8068c390 100644 --- a/api/tests/subsonic/test_authentication.py +++ b/api/tests/subsonic/test_authentication.py @@ -25,7 +25,6 @@ def test_auth_with_password_hex(api_request, factories): user = factories["users.User"]() user.subsonic_api_token = "password" user.save() - token = authentication.get_token(salt, "password") request = api_request.get( "/", { @@ -49,7 +48,6 @@ def test_auth_with_password_cleartext(api_request, factories): user = factories["users.User"]() user.subsonic_api_token = "password" user.save() - token = authentication.get_token(salt, "password") request = api_request.get("/", {"u": user.username, "p": "password"}) authenticator = authentication.SubsonicAuthentication() @@ -63,7 +61,6 @@ def test_auth_with_inactive_users(api_request, factories): user = factories["users.User"](is_active=False) user.subsonic_api_token = "password" user.save() - token = authentication.get_token(salt, "password") request = api_request.get("/", {"u": user.username, "p": "password"}) authenticator = authentication.SubsonicAuthentication() diff --git a/api/tests/subsonic/test_views.py b/api/tests/subsonic/test_views.py index d06bf5525d6cd7c72cc85788cbe109de46e6e2e3..ecb43ded11196a82ae3890a6643619ac9902861e 100644 --- a/api/tests/subsonic/test_views.py +++ b/api/tests/subsonic/test_views.py @@ -5,8 +5,6 @@ import pytest from django.utils import timezone from django.urls import reverse -from rest_framework.response import Response - from funkwhale_api.music import models as music_models from funkwhale_api.music import views as music_views from funkwhale_api.subsonic import renderers @@ -80,7 +78,7 @@ def test_ping(f, db, api_client): def test_get_artists(f, db, logged_in_api_client, factories): url = reverse("api:subsonic-get-artists") assert url.endswith("getArtists") is True - artists = factories["music.Artist"].create_batch(size=10) + factories["music.Artist"].create_batch(size=10) expected = { "artists": serializers.GetArtistsSerializer( music_models.Artist.objects.all() @@ -97,7 +95,7 @@ def test_get_artist(f, db, logged_in_api_client, factories): url = reverse("api:subsonic-get-artist") assert url.endswith("getArtist") is True artist = factories["music.Artist"]() - albums = factories["music.Album"].create_batch(size=3, artist=artist) + factories["music.Album"].create_batch(size=3, artist=artist) expected = {"artist": serializers.GetArtistSerializer(artist).data} response = logged_in_api_client.get(url, {"id": artist.pk}) @@ -124,7 +122,7 @@ def test_get_album(f, db, logged_in_api_client, factories): assert url.endswith("getAlbum") is True artist = factories["music.Artist"]() album = factories["music.Album"](artist=artist) - tracks = factories["music.Track"].create_batch(size=3, album=album) + factories["music.Track"].create_batch(size=3, album=album) expected = {"album": serializers.GetAlbumSerializer(album).data} response = logged_in_api_client.get(url, {"f": f, "id": album.pk}) @@ -166,7 +164,7 @@ def test_unstar(f, db, logged_in_api_client, factories): url = reverse("api:subsonic-unstar") assert url.endswith("unstar") is True track = factories["music.Track"]() - favorite = factories["favorites.TrackFavorite"]( + factories["favorites.TrackFavorite"]( track=track, user=logged_in_api_client.user ) response = logged_in_api_client.get(url, {"f": f, "id": track.pk}) @@ -283,7 +281,7 @@ def test_update_playlist(f, db, logged_in_api_client, factories): url = reverse("api:subsonic-update-playlist") assert url.endswith("updatePlaylist") is True playlist = factories["playlists.Playlist"](user=logged_in_api_client.user) - plt = factories["playlists.PlaylistTrack"](index=0, playlist=playlist) + factories["playlists.PlaylistTrack"](index=0, playlist=playlist) new_track = factories["music.Track"]() response = logged_in_api_client.get( url, @@ -350,7 +348,7 @@ def test_get_music_folders(f, db, logged_in_api_client, factories): def test_get_indexes(f, db, logged_in_api_client, factories): url = reverse("api:subsonic-get-indexes") assert url.endswith("getIndexes") is True - artists = factories["music.Artist"].create_batch(size=10) + factories["music.Artist"].create_batch(size=10) expected = { "indexes": serializers.GetArtistsSerializer( music_models.Artist.objects.all() @@ -384,5 +382,5 @@ def test_scrobble(factories, logged_in_api_client): assert response.status_code == 200 - l = logged_in_api_client.user.listenings.latest("id") - assert l.track == track + listening = logged_in_api_client.user.listenings.latest("id") + assert listening.track == track diff --git a/api/tests/test_import_audio_file.py b/api/tests/test_import_audio_file.py index 4346a4777584fdef14822202510bebd004e376d7..b9961a0022a1bba161b5791e87c03edb97182643 100644 --- a/api/tests/test_import_audio_file.py +++ b/api/tests/test_import_audio_file.py @@ -1,7 +1,6 @@ import pytest import datetime import os -import uuid from django.core.management import call_command from django.core.management.base import CommandError diff --git a/api/tests/test_youtube.py b/api/tests/test_youtube.py index 629558cc3235f60340c4a9f567e3d36c62fc1d3b..c906c1dedcc42ab43e40b33f510805e49fbb9e6b 100644 --- a/api/tests/test_youtube.py +++ b/api/tests/test_youtube.py @@ -1,4 +1,3 @@ -import json from collections import OrderedDict from django.urls import reverse from funkwhale_api.providers.youtube.client import client diff --git a/api/tests/users/test_jwt.py b/api/tests/users/test_jwt.py index 28ff09d7467dec9b451564abd14218db8dbbb96e..771a42efa53891736144d77feb06c62088f1a956 100644 --- a/api/tests/users/test_jwt.py +++ b/api/tests/users/test_jwt.py @@ -1,5 +1,4 @@ import pytest -import uuid from jwt.exceptions import DecodeError from rest_framework_jwt.settings import api_settings diff --git a/api/tests/users/test_views.py b/api/tests/users/test_views.py index f7a11367e15968ae8edeb0b10340cd9407661438..78d6aa4bd9c4cbf8152a599e182989e1fd4ab234 100644 --- a/api/tests/users/test_views.py +++ b/api/tests/users/test_views.py @@ -1,4 +1,3 @@ -import json import pytest from django.test import RequestFactory @@ -114,7 +113,7 @@ def test_changing_password_updates_secret_key(logged_in_api_client): payload = {"old_password": "test", "new_password1": "new", "new_password2": "new"} url = reverse("change_password") - response = logged_in_api_client.post(url, payload) + logged_in_api_client.post(url, payload) user.refresh_from_db()