diff --git a/api/funkwhale_api/audio/serializers.py b/api/funkwhale_api/audio/serializers.py index fd57ed374e1b547a2f70ee0f9a5ad4877580f7ee..e15325d8c335e8801e08d455802e4aaf25ded781 100644 --- a/api/funkwhale_api/audio/serializers.py +++ b/api/funkwhale_api/audio/serializers.py @@ -818,7 +818,7 @@ def rss_serialize_item(upload): data = { "title": [{"value": upload.track.title}], "itunes:title": [{"value": upload.track.title}], - "guid": [{"cdata_value": str(upload.uuid), "isPermalink": "false"}], + "guid": [{"cdata_value": str(upload.uuid), "isPermaLink": "false"}], "pubDate": [{"value": rfc822_date(upload.creation_date)}], "itunes:duration": [{"value": rss_duration(upload.duration)}], "itunes:explicit": [{"value": "no"}], @@ -841,7 +841,7 @@ def rss_serialize_item(upload): ], } if upload.track.description: - data["itunes:subtitle"] = [{"value": upload.track.description.truncate(255)}] + data["itunes:subtitle"] = [{"value": upload.track.description.truncate(254)}] data["itunes:summary"] = [{"cdata_value": upload.track.description.rendered}] data["description"] = [{"value": upload.track.description.as_plain_text}] @@ -853,7 +853,7 @@ def rss_serialize_item(upload): tagged_items = getattr(upload.track, "_prefetched_tagged_items", []) if tagged_items: data["itunes:keywords"] = [ - {"value": " ".join([ti.tag.name for ti in tagged_items])} + {"value": ",".join([ti.tag.name for ti in tagged_items])} ] return data @@ -903,7 +903,7 @@ def rss_serialize_channel(channel): data["itunes:category"] = [node] if channel.artist.description: - data["itunes:subtitle"] = [{"value": channel.artist.description.truncate(255)}] + data["itunes:subtitle"] = [{"value": channel.artist.description.truncate(254)}] data["itunes:summary"] = [{"cdata_value": channel.artist.description.rendered}] data["description"] = [{"value": channel.artist.description.as_plain_text}] diff --git a/api/funkwhale_api/users/adapters.py b/api/funkwhale_api/users/adapters.py index e52892bd98dda1267915a0484c2507c72312411c..436ed2d7745e570e9924b43810e140e1e7e020eb 100644 --- a/api/funkwhale_api/users/adapters.py +++ b/api/funkwhale_api/users/adapters.py @@ -26,6 +26,9 @@ class FunkwhaleAccountAdapter(DefaultAccountAdapter): def get_login_redirect_url(self, request): return "noop" + def get_signup_redirect_url(self, request): + return "noop" + def add_message(self, *args, **kwargs): # disable message sending return diff --git a/api/requirements/base.txt b/api/requirements/base.txt index 602ec8f46ce8e07e439f4ac189c21d0bb76b1f04..0b6234d8a67375259ef0a89a158f9d87af10ca95 100644 --- a/api/requirements/base.txt +++ b/api/requirements/base.txt @@ -6,7 +6,7 @@ django-environ~=0.4 # Images Pillow~=7.0 -django-allauth~=0.42 +django-allauth~=0.42.0 psycopg2-binary~=2.8 diff --git a/api/tests/audio/test_serializers.py b/api/tests/audio/test_serializers.py index fbcd28a1a02625ca7366a37a0f7f300a17fe02ed..5f0c1226f6939a2cb700533325fecb0c347dd86a 100644 --- a/api/tests/audio/test_serializers.py +++ b/api/tests/audio/test_serializers.py @@ -300,13 +300,13 @@ def test_rss_item_serializer(factories): expected = { "title": [{"value": upload.track.title}], "itunes:title": [{"value": upload.track.title}], - "itunes:subtitle": [{"value": description.truncate(255)}], + "itunes:subtitle": [{"value": description.truncate(254)}], "itunes:summary": [{"cdata_value": description.rendered}], "description": [{"value": description.as_plain_text}], - "guid": [{"cdata_value": str(upload.uuid), "isPermalink": "false"}], + "guid": [{"cdata_value": str(upload.uuid), "isPermaLink": "false"}], "pubDate": [{"value": serializers.rfc822_date(upload.creation_date)}], "itunes:duration": [{"value": serializers.rss_duration(upload.duration)}], - "itunes:keywords": [{"value": "pop rock"}], + "itunes:keywords": [{"value": "pop,rock"}], "itunes:explicit": [{"value": "no"}], "itunes:episodeType": [{"value": "full"}], "itunes:season": [{"value": upload.track.disc_number}], diff --git a/changes/changelog.d/1250.bugfix b/changes/changelog.d/1250.bugfix new file mode 100644 index 0000000000000000000000000000000000000000..4d4cbddf2b1b6621c4aae581f9837fc359950d20 --- /dev/null +++ b/changes/changelog.d/1250.bugfix @@ -0,0 +1 @@ +Make the generated RSS feed more conformant with w3c specification (#1250)