From 08ce00e3cd854b4ab83f45daff5ffc6b85a60da6 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Mon, 14 Jan 2019 14:50:33 +0100
Subject: [PATCH] Fixed #469: parsing of embedded file cover for ogg files
 tagged with MusicBrainz Picard

---
 api/funkwhale_api/music/metadata.py |  81 +++++++++++++++++++++++++---
 api/tests/music/test_metadata.py    |  23 +++++++-
 api/tests/music/with_cover.ogg      | Bin 0 -> 40414 bytes
 changes/changelog.d/469.bugfix      |   1 +
 4 files changed, 96 insertions(+), 9 deletions(-)
 create mode 100644 api/tests/music/with_cover.ogg
 create mode 100644 changes/changelog.d/469.bugfix

diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py
index 9a61e67e..ad8a6b6a 100644
--- a/api/funkwhale_api/music/metadata.py
+++ b/api/funkwhale_api/music/metadata.py
@@ -1,8 +1,13 @@
+import base64
 import datetime
 import logging
-import mutagen
 import pendulum
 
+import mutagen._util
+import mutagen.oggtheora
+import mutagen.oggvorbis
+import mutagen.flac
+
 from django import forms
 
 logger = logging.getLogger(__name__)
@@ -83,6 +88,31 @@ def clean_flac_pictures(apic):
     return pictures
 
 
+def clean_ogg_pictures(metadata_block_picture):
+    pictures = []
+    for b64_data in [metadata_block_picture]:
+
+        try:
+            data = base64.b64decode(b64_data)
+        except (TypeError, ValueError):
+            continue
+
+        try:
+            picture = mutagen.flac.Picture(data)
+        except mutagen.flac.FLACError:
+            continue
+
+        pictures.append(
+            {
+                "mimetype": picture.mime,
+                "content": picture.data,
+                "description": "",
+                "type": picture.type.real,
+            }
+        )
+    return pictures
+
+
 def get_mp3_recording_id(f, k):
     try:
         return [t for t in f.tags.getall("UFID") if "musicbrainz.org" in t.owner][
@@ -197,6 +227,10 @@ CONF = {
             "musicbrainz_recordingid": {"field": "musicbrainz_trackid"},
             "license": {},
             "copyright": {},
+            "pictures": {
+                "field": "metadata_block_picture",
+                "to_application": clean_ogg_pictures,
+            },
         },
     },
     "OggTheora": {
@@ -216,9 +250,8 @@ CONF = {
             "musicbrainz_artistid": {"field": "MusicBrainz Artist Id"},
             "musicbrainz_albumartistid": {"field": "MusicBrainz Album Artist Id"},
             "musicbrainz_recordingid": {"field": "MusicBrainz Track Id"},
-            # somehow, I cannot successfully create an ogg theora file
-            # with the proper license field
-            # "license": {"field": "license"},
+            "license": {},
+            "copyright": {},
         },
     },
     "MP3": {
@@ -288,10 +321,11 @@ ALL_FIELDS = [
 
 
 class Metadata(object):
-    def __init__(self, path):
-        self._file = mutagen.File(path)
+    def __init__(self, filething, kind=mutagen.File):
+        self._file = kind(filething)
         if self._file is None:
-            raise ValueError("Cannot parse metadata from {}".format(path))
+            raise ValueError("Cannot parse metadata from {}".format(filething))
+        self.fallback = self.load_fallback(filething, self._file)
         ft = self.get_file_type(self._file)
         try:
             self._conf = CONF[ft]
@@ -301,7 +335,40 @@ class Metadata(object):
     def get_file_type(self, f):
         return f.__class__.__name__
 
+    def load_fallback(self, filething, parent):
+        """
+        In some situations, such as Ogg Theora files tagged with MusicBrainz Picard,
+        part of the tags are only available in the ogg vorbis comments
+        """
+        try:
+            filething.seek(0)
+        except AttributeError:
+            pass
+        if isinstance(parent, mutagen.oggtheora.OggTheora):
+            try:
+                return Metadata(filething, kind=mutagen.oggvorbis.OggVorbis)
+            except (ValueError, mutagen._util.MutagenError):
+                raise
+                pass
+
     def get(self, key, default=NODEFAULT):
+        try:
+            return self._get_from_self(key)
+        except TagNotFound:
+            if not self.fallback:
+                if default != NODEFAULT:
+                    return default
+                else:
+                    raise
+            else:
+                return self.fallback.get(key, default=default)
+        except UnsupportedTag:
+            if not self.fallback:
+                raise
+            else:
+                return self.fallback.get(key, default=default)
+
+    def _get_from_self(self, key, default=NODEFAULT):
         try:
             field_conf = self._conf["fields"][key]
         except KeyError:
diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py
index 4413f3a3..5e5590d7 100644
--- a/api/tests/music/test_metadata.py
+++ b/api/tests/music/test_metadata.py
@@ -1,9 +1,11 @@
 import datetime
 import os
 import uuid
-
 import pytest
 
+import mutagen.oggtheora
+import mutagen.oggvorbis
+
 from funkwhale_api.music import metadata
 
 DATA_DIR = os.path.dirname(os.path.abspath(__file__))
@@ -145,7 +147,7 @@ def test_can_get_metadata_from_id3_mp3_file(field, value):
     assert data.get(field) == value
 
 
-@pytest.mark.parametrize("name", ["test.mp3", "sample.flac"])
+@pytest.mark.parametrize("name", ["test.mp3", "sample.flac", "with_cover.ogg"])
 def test_can_get_pictures(name):
     path = os.path.join(DATA_DIR, name)
     data = metadata.Metadata(path)
@@ -243,3 +245,20 @@ def test_metadata_all_ignore_parse_errors_false(mocker):
     mocker.patch.object(data, "get", side_effect=metadata.ParseError("Failure"))
     with pytest.raises(metadata.ParseError):
         data.all(ignore_parse_errors=False)
+
+
+def test_metadata_fallback_ogg_theora(mocker):
+    path = os.path.join(DATA_DIR, "with_cover.ogg")
+    data = metadata.Metadata(path)
+
+    assert isinstance(data._file, mutagen.oggtheora.OggTheora)
+    assert isinstance(data.fallback, metadata.Metadata)
+    assert isinstance(data.fallback._file, mutagen.oggvorbis.OggVorbis)
+
+    expected_result = data.fallback.get("pictures")
+    fallback_get = mocker.spy(data.fallback, "get")
+
+    assert expected_result is not None
+    assert data.get("pictures", "default") == expected_result
+
+    fallback_get.assert_called_once_with("pictures", "default")
diff --git a/api/tests/music/with_cover.ogg b/api/tests/music/with_cover.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..ddd3ab7009e108474d6d15d08640672775b463a1
GIT binary patch
literal 40414
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

literal 0
HcmV?d00001

diff --git a/changes/changelog.d/469.bugfix b/changes/changelog.d/469.bugfix
new file mode 100644
index 00000000..0754dac6
--- /dev/null
+++ b/changes/changelog.d/469.bugfix
@@ -0,0 +1 @@
+Fixed parsing of embedded file cover for ogg files tagged with MusicBrainz (#469)
-- 
GitLab