Skip to content
Snippets Groups Projects
Commit 9d09e9f8 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Merge branch '808-supported-mimetypes' into 'develop'

Fix #808: Advertise the list of supported upload extensions in the Nodeinfo endpoint

Closes #808

See merge request !748
parents 2b7dac21 119df013
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ import memoize.djangocache
import funkwhale_api
from funkwhale_api.common import preferences
from funkwhale_api.federation import actors
from funkwhale_api.music import utils as music_utils
from . import stats
......@@ -34,6 +35,7 @@ def get():
"common__api_authentication_required"
),
},
"supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
},
}
if share_stats:
......
......@@ -39,6 +39,10 @@ AUDIO_EXTENSIONS_AND_MIMETYPE = [
EXTENSION_TO_MIMETYPE = {ext: mt for ext, mt in AUDIO_EXTENSIONS_AND_MIMETYPE}
MIMETYPE_TO_EXTENSION = {mt: ext for ext, mt in AUDIO_EXTENSIONS_AND_MIMETYPE}
SUPPORTED_EXTENSIONS = list(
sorted(set([ext for ext, _ in AUDIO_EXTENSIONS_AND_MIMETYPE]))
)
def get_ext_from_type(mimetype):
return MIMETYPE_TO_EXTENSION.get(mimetype)
......
import funkwhale_api
from funkwhale_api.instance import nodeinfo
from funkwhale_api.federation import actors
from funkwhale_api.music import utils as music_utils
def test_nodeinfo_dump(preferences, mocker):
......@@ -46,6 +47,7 @@ def test_nodeinfo_dump(preferences, mocker):
"favorites": {"tracks": {"total": stats["track_favorites"]}},
"listenings": {"total": stats["listenings"]},
},
"supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
},
}
assert nodeinfo.get() == expected
......@@ -76,6 +78,7 @@ def test_nodeinfo_dump_stats_disabled(preferences, mocker):
"common__api_authentication_required"
],
},
"supportedUploadExtensions": music_utils.SUPPORTED_EXTENSIONS,
},
}
assert nodeinfo.get() == expected
Advertise the list of supported upload extensions in the Nodeinfo endpoint (#808)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment