From 1a1878445c949eb4f992a88836c1ec6bd4334051 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Mon, 26 Aug 2019 14:08:00 +0200 Subject: [PATCH] Fixed album art not being retrieved from Ogg/Opus files --- api/funkwhale_api/music/metadata.py | 4 ++++ api/tests/music/test_metadata.py | 9 ++++++++- api/tests/music/with_cover.opus | Bin 0 -> 25696 bytes changes/changelog.d/opus-cover.bugfix | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 api/tests/music/with_cover.opus create mode 100644 changes/changelog.d/opus-cover.bugfix diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py index 6740bd4f39..4bdf04ddee 100644 --- a/api/funkwhale_api/music/metadata.py +++ b/api/funkwhale_api/music/metadata.py @@ -147,6 +147,10 @@ CONF = { "license": {}, "copyright": {}, "genre": {}, + "pictures": { + "field": "metadata_block_picture", + "to_application": clean_ogg_pictures, + }, }, }, "OggVorbis": { diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py index 121fef4b2c..521850e9a6 100644 --- a/api/tests/music/test_metadata.py +++ b/api/tests/music/test_metadata.py @@ -142,7 +142,14 @@ def test_can_get_metadata_from_id3_mp3_file(field, value): @pytest.mark.parametrize( - "name", ["test.mp3", "with_other_picture.mp3", "sample.flac", "with_cover.ogg"] + "name", + [ + "test.mp3", + "with_other_picture.mp3", + "sample.flac", + "with_cover.ogg", + "with_cover.opus", + ], ) def test_can_get_pictures(name): path = os.path.join(DATA_DIR, name) diff --git a/api/tests/music/with_cover.opus b/api/tests/music/with_cover.opus new file mode 100644 index 0000000000000000000000000000000000000000..1b92b5cbb098e47c9722c01fa9caa0700c1284f9 GIT binary patch literal 25696 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 literal 0 HcmV?d00001 diff --git a/changes/changelog.d/opus-cover.bugfix b/changes/changelog.d/opus-cover.bugfix new file mode 100644 index 0000000000..648e280935 --- /dev/null +++ b/changes/changelog.d/opus-cover.bugfix @@ -0,0 +1 @@ +Fixed album art not being retrieved from Ogg/Opus files -- GitLab