Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
funkwhale
funkwhale
Commits
941f2f66
Verified
Commit
941f2f66
authored
Oct 21, 2018
by
Eliot Berriot
Browse files
Fix #573: Added "type: funkwhale" and "funkwhale-version" in Subsonic responses
parent
a6264d7d
Pipeline
#2282
passed with stages
in 5 minutes and 26 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
api/funkwhale_api/subsonic/renderers.py
View file @
941f2f66
...
...
@@ -2,13 +2,22 @@ import xml.etree.ElementTree as ET
from
rest_framework
import
renderers
import
funkwhale_api
class
SubsonicJSONRenderer
(
renderers
.
JSONRenderer
):
def
render
(
self
,
data
,
accepted_media_type
=
None
,
renderer_context
=
None
):
if
not
data
:
# when stream view is called, we don't have any data
return
super
().
render
(
data
,
accepted_media_type
,
renderer_context
)
final
=
{
"subsonic-response"
:
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
}}
final
=
{
"subsonic-response"
:
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
,
"type"
:
"funkwhale"
,
"funkwhale-version"
:
funkwhale_api
.
__version__
,
}
}
final
[
"subsonic-response"
].
update
(
data
)
if
"error"
in
final
:
# an error was returned
...
...
api/tests/subsonic/test_renderers.py
View file @
941f2f66
import
json
import
xml.etree.ElementTree
as
ET
import
funkwhale_api
from
funkwhale_api.subsonic
import
renderers
def
test_json_renderer
():
data
=
{
"hello"
:
"world"
}
expected
=
{
"subsonic-response"
:
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
,
"hello"
:
"world"
}
"subsonic-response"
:
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
,
"type"
:
"funkwhale"
,
"funkwhale-version"
:
funkwhale_api
.
__version__
,
"hello"
:
"world"
,
}
}
renderer
=
renderers
.
SubsonicJSONRenderer
()
assert
json
.
loads
(
renderer
.
render
(
data
))
==
expected
...
...
api/tests/subsonic/test_views.py
View file @
941f2f66
...
...
@@ -5,6 +5,8 @@ import pytest
from
django.urls
import
reverse
from
django.utils
import
timezone
import
funkwhale_api
from
funkwhale_api.music
import
models
as
music_models
from
funkwhale_api.music
import
views
as
music_views
from
funkwhale_api.subsonic
import
renderers
,
serializers
...
...
@@ -18,7 +20,12 @@ def test_render_content_json(db, api_client):
url
=
reverse
(
"api:subsonic-ping"
)
response
=
api_client
.
get
(
url
,
{
"f"
:
"json"
})
expected
=
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
}
expected
=
{
"status"
:
"ok"
,
"version"
:
"1.16.0"
,
"type"
:
"funkwhale"
,
"funkwhale-version"
:
funkwhale_api
.
__version__
,
}
assert
response
.
status_code
==
200
assert
json
.
loads
(
response
.
content
)
==
render_json
(
expected
)
...
...
changes/changelog.d/573.enhancement
0 → 100644
View file @
941f2f66
Added "type: funkwhale" and "funkwhale-version" in Subsonic responses (#573)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment