diff --git a/api/funkwhale_api/common/cache.py b/api/funkwhale_api/common/cache.py index d98b73797..d2ea0c912 100644 --- a/api/funkwhale_api/common/cache.py +++ b/api/funkwhale_api/common/cache.py @@ -8,7 +8,7 @@ logger = logging.getLogger(__name__) class RedisClient(default.DefaultClient): def get(self, key, default=None, version=None, client=None): try: - return super().get(key, default=None, version=None, client=None) + return super().get(key, default=default, version=version, client=client) except ValueError as e: if "unsupported pickle protocol" in str(e): # pickle deserialization error diff --git a/api/funkwhale_api/subsonic/renderers.py b/api/funkwhale_api/subsonic/renderers.py index 7390def8b..a1e66cb56 100644 --- a/api/funkwhale_api/subsonic/renderers.py +++ b/api/funkwhale_api/subsonic/renderers.py @@ -1,3 +1,4 @@ +import collections import xml.etree.ElementTree as ET from rest_framework import renderers @@ -40,7 +41,7 @@ def structure_payload(data): payload["error"] = {"code": 0, "message": payload.pop("detail")} if "error" in payload: payload["status"] = "failed" - return payload + return collections.OrderedDict(sorted(payload.items(), key=lambda v: v[0])) class SubsonicJSONRenderer(renderers.JSONRenderer): diff --git a/api/tests/subsonic/test_renderers.py b/api/tests/subsonic/test_renderers.py index ffa4aeac5..501ae48ce 100644 --- a/api/tests/subsonic/test_renderers.py +++ b/api/tests/subsonic/test_renderers.py @@ -80,7 +80,7 @@ def test_xml_renderer_dict_to_xml(): def test_xml_renderer(): payload = {"hello": "world"} - expected = '\n' # noqa + expected = '\n' # noqa expected = expected.format(funkwhale_api.__version__).encode() renderer = renderers.SubsonicXMLRenderer()