From 290cae9a8f6790d8d412b36965ad73ac3ec8139e Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Sat, 2 Jun 2018 09:21:55 +0200 Subject: [PATCH] Fix #231 and #219: ensure we import covers regarless of the import method Can now import covers from track metadata and track directory as well --- api/config/settings/local.py | 1 + api/funkwhale_api/music/metadata.py | 113 ++++++++++++++++----------- api/funkwhale_api/music/models.py | 25 +++++- api/funkwhale_api/music/tasks.py | 114 ++++++++++++++++++++++++++-- api/tests/music/cover.jpg | Bin 0 -> 107 bytes api/tests/music/cover.png | Bin 0 -> 379 bytes api/tests/music/sample.flac | Bin 9793 -> 91522 bytes api/tests/music/test_metadata.py | 14 ++++ api/tests/music/test_models.py | 8 ++ api/tests/music/test_tasks.py | 71 +++++++++++++++++ changes/changelog.d/219.enhancement | 1 + changes/changelog.d/231.bugfix | 50 ++++++++++++ docs/importing-music.rst | 9 +++ 13 files changed, 353 insertions(+), 53 deletions(-) create mode 100644 api/tests/music/cover.jpg create mode 100644 api/tests/music/cover.png create mode 100644 changes/changelog.d/219.enhancement create mode 100644 changes/changelog.d/231.bugfix diff --git a/api/config/settings/local.py b/api/config/settings/local.py index 59260062..df14945c 100644 --- a/api/config/settings/local.py +++ b/api/config/settings/local.py @@ -76,3 +76,4 @@ LOGGING = { }, }, } +CSRF_TRUSTED_ORIGINS = [o for o in ALLOWED_HOSTS] diff --git a/api/funkwhale_api/music/metadata.py b/api/funkwhale_api/music/metadata.py index 522c64c8..3637b1c8 100644 --- a/api/funkwhale_api/music/metadata.py +++ b/api/funkwhale_api/music/metadata.py @@ -9,7 +9,13 @@ class TagNotFound(KeyError): pass +class UnsupportedTag(KeyError): + pass + + def get_id3_tag(f, k): + if k == 'pictures': + return f.tags.getall('APIC') # First we try to grab the standard key try: return f.tags[k].text[0] @@ -28,13 +34,39 @@ def get_id3_tag(f, k): raise TagNotFound(k) +def clean_id3_pictures(apic): + pictures = [] + for p in list(apic): + pictures.append({ + 'mimetype': p.mime, + 'content': p.data, + 'description': p.desc, + 'type': p.type.real, + }) + return pictures + + def get_flac_tag(f, k): + if k == 'pictures': + return f.pictures try: return f.get(k, [])[0] except (KeyError, IndexError): raise TagNotFound(k) +def clean_flac_pictures(apic): + pictures = [] + for p in list(apic): + pictures.append({ + 'mimetype': p.mime, + 'content': p.data, + 'description': p.desc, + 'type': p.type.real, + }) + return pictures + + def get_mp3_recording_id(f, k): try: return [ @@ -73,25 +105,15 @@ CONF = { 'field': 'TRACKNUMBER', 'to_application': convert_track_number }, - 'title': { - 'field': 'title' - }, - 'artist': { - 'field': 'artist' - }, - 'album': { - 'field': 'album' - }, + 'title': {}, + 'artist': {}, + 'album': {}, 'date': { 'field': 'date', 'to_application': lambda v: arrow.get(v).date() }, - 'musicbrainz_albumid': { - 'field': 'musicbrainz_albumid' - }, - 'musicbrainz_artistid': { - 'field': 'musicbrainz_artistid' - }, + 'musicbrainz_albumid': {}, + 'musicbrainz_artistid': {}, 'musicbrainz_recordingid': { 'field': 'musicbrainz_trackid' }, @@ -104,15 +126,9 @@ CONF = { 'field': 'TRACKNUMBER', 'to_application': convert_track_number }, - 'title': { - 'field': 'title' - }, - 'artist': { - 'field': 'artist' - }, - 'album': { - 'field': 'album' - }, + 'title': {}, + 'artist': {}, + 'album': {}, 'date': { 'field': 'date', 'to_application': lambda v: arrow.get(v).date() @@ -130,6 +146,7 @@ CONF = { }, 'MP3': { 'getter': get_id3_tag, + 'clean_pictures': clean_id3_pictures, 'fields': { 'track_number': { 'field': 'TRCK', @@ -158,40 +175,31 @@ CONF = { 'field': 'UFID', 'getter': get_mp3_recording_id, }, + 'pictures': {}, } }, 'FLAC': { 'getter': get_flac_tag, + 'clean_pictures': clean_flac_pictures, 'fields': { 'track_number': { 'field': 'tracknumber', 'to_application': convert_track_number }, - 'title': { - 'field': 'title' - }, - 'artist': { - 'field': 'artist' - }, - 'album': { - 'field': 'album' - }, + 'title': {}, + 'artist': {}, + 'album': {}, 'date': { 'field': 'date', 'to_application': lambda v: arrow.get(str(v)).date() }, - 'musicbrainz_albumid': { - 'field': 'musicbrainz_albumid' - }, - 'musicbrainz_artistid': { - 'field': 'musicbrainz_artistid' - }, + 'musicbrainz_albumid': {}, + 'musicbrainz_artistid': {}, 'musicbrainz_recordingid': { 'field': 'musicbrainz_trackid' }, - 'test': { - 'field': 'test' - }, + 'test': {}, + 'pictures': {}, } }, } @@ -213,8 +221,12 @@ class Metadata(object): return f.__class__.__name__ def get(self, key, default=NODEFAULT): - field_conf = self._conf['fields'][key] - real_key = field_conf['field'] + try: + field_conf = self._conf['fields'][key] + except KeyError: + raise UnsupportedTag( + '{} is not supported for this file format'.format(key)) + real_key = field_conf.get('field', key) try: getter = field_conf.get('getter', self._conf['getter']) v = getter(self._file, real_key) @@ -230,3 +242,16 @@ class Metadata(object): if field: v = field.to_python(v) return v + + def get_picture(self, picture_type='cover_front'): + ptype = getattr(mutagen.id3.PictureType, picture_type.upper()) + try: + pictures = self.get('pictures') + except (UnsupportedTag, TagNotFound): + return + + cleaner = self._conf.get('clean_pictures', lambda v: v) + pictures = cleaner(pictures) + for p in pictures: + if p['type'] == ptype: + return p diff --git a/api/funkwhale_api/music/models.py b/api/funkwhale_api/music/models.py index 51ece7d7..0ba4d22c 100644 --- a/api/funkwhale_api/music/models.py +++ b/api/funkwhale_api/music/models.py @@ -23,6 +23,7 @@ from funkwhale_api import downloader from funkwhale_api import musicbrainz from funkwhale_api.federation import utils as federation_utils from . import importers +from . import metadata from . import utils @@ -192,10 +193,20 @@ class Album(APIModelMixin): } objects = AlbumQuerySet.as_manager() - def get_image(self): - image_data = musicbrainz.api.images.get_front(str(self.mbid)) - f = ContentFile(image_data) - self.cover.save('{0}.jpg'.format(self.mbid), f) + def get_image(self, data=None): + if data: + f = ContentFile(data['content']) + extensions = { + 'image/jpeg': 'jpg', + 'image/png': 'png', + 'image/gif': 'gif', + } + extension = extensions.get(data['mimetype'], 'jpg') + self.cover.save('{}.{}'.format(self.uuid, extension), f) + else: + image_data = musicbrainz.api.images.get_front(str(self.mbid)) + f = ContentFile(image_data) + self.cover.save('{0}.jpg'.format(self.mbid), f) return self.cover.file def __str__(self): @@ -522,6 +533,12 @@ class TrackFile(models.Model): self.mimetype = utils.guess_mimetype(self.audio_file) return super().save(**kwargs) + def get_metadata(self): + audio_file = self.get_audio_file() + if not audio_file: + return + return metadata.Metadata(audio_file) + IMPORT_STATUS_CHOICES = ( ('pending', 'Pending'), diff --git a/api/funkwhale_api/music/tasks.py b/api/funkwhale_api/music/tasks.py index 993456c2..218e374e 100644 --- a/api/funkwhale_api/music/tasks.py +++ b/api/funkwhale_api/music/tasks.py @@ -1,7 +1,10 @@ +import logging import os from django.core.files.base import ContentFile +from musicbrainzngs import ResponseError + from funkwhale_api.common import preferences from funkwhale_api.federation import activity from funkwhale_api.federation import actors @@ -16,6 +19,8 @@ from . import models from . import lyrics as lyrics_utils from . import utils as music_utils +logger = logging.getLogger(__name__) + @celery.app.task(name='acoustid.set_on_track_file') @celery.require_instance(models.TrackFile, 'track_file') @@ -74,6 +79,7 @@ def import_track_from_remote(library_track): def _do_import(import_job, replace=False, use_acoustid=False): + logger.info('[Import Job %s] starting job', import_job.pk) from_file = bool(import_job.audio_file) mbid = import_job.mbid acoustid_track_id = None @@ -91,15 +97,32 @@ def _do_import(import_job, replace=False, use_acoustid=False): mbid = match['recordings'][0]['id'] acoustid_track_id = match['id'] if mbid: + logger.info( + '[Import Job %s] importing track from musicbrainz recording %s', + import_job.pk, + str(mbid)) track, _ = models.Track.get_or_create_from_api(mbid=mbid) elif import_job.audio_file: + logger.info( + '[Import Job %s] importing track from uploaded track data at %s', + import_job.pk, + import_job.audio_file.path) track = audiofile_tasks.import_track_data_from_path( import_job.audio_file.path) elif import_job.library_track: + logger.info( + '[Import Job %s] importing track from federated library track %s', + import_job.pk, + import_job.library_track.pk) track = import_track_from_remote(import_job.library_track) elif import_job.source.startswith('file://'): + tf_path = import_job.source.replace('file://', '', 1) + logger.info( + '[Import Job %s] importing track from local track data at %s', + import_job.pk, + tf_path) track = audiofile_tasks.import_track_data_from_path( - import_job.source.replace('file://', '', 1)) + tf_path) else: raise ValueError( 'Not enough data to process import, ' @@ -107,8 +130,13 @@ def _do_import(import_job, replace=False, use_acoustid=False): track_file = None if replace: + logger.info( + '[Import Job %s] replacing existing audio file', import_job.pk) track_file = track.files.first() elif track.files.count() > 0: + logger.info( + '[Import Job %s] skipping, we already have a file for this track', + import_job.pk) if import_job.audio_file: import_job.audio_file.delete() import_job.status = 'skipped' @@ -132,6 +160,9 @@ def _do_import(import_job, replace=False, use_acoustid=False): pass elif not import_job.audio_file and not import_job.source.startswith('file://'): # not an implace import, and we have a source, so let's download it + logger.info( + '[Import Job %s] downloading audio file from remote', + import_job.pk) track_file.download_file() elif not import_job.audio_file and import_job.source.startswith('file://'): # in place import, we set mimetype from extension @@ -139,23 +170,96 @@ def _do_import(import_job, replace=False, use_acoustid=False): track_file.mimetype = music_utils.get_type_from_ext(ext) track_file.set_audio_data() track_file.save() + # if no cover is set on track album, we try to update it as well: + if not track.album.cover: + logger.info( + '[Import Job %s] retrieving album cover', + import_job.pk) + update_album_cover(track.album, track_file) import_job.status = 'finished' import_job.track_file = track_file if import_job.audio_file: # it's imported on the track, we don't need it anymore import_job.audio_file.delete() import_job.save() - + logger.info( + '[Import Job %s] job finished', + import_job.pk) return track_file +def update_album_cover(album, track_file, replace=False): + if album.cover and not replace: + return + + if track_file: + # maybe the file has a cover embedded? + try: + metadata = track_file.get_metadata() + except FileNotFoundError: + metadata = None + if metadata: + cover = metadata.get_picture('cover_front') + if cover: + # best case scenario, cover is embedded in the track + logger.info( + '[Album %s] Using cover embedded in file', + album.pk) + return album.get_image(data=cover) + if track_file.source and track_file.source.startswith('file://'): + # let's look for a cover in the same directory + path = os.path.dirname(track_file.source.replace('file://', '', 1)) + logger.info( + '[Album %s] scanning covers from %s', + album.pk, + path) + cover = get_cover_from_fs(path) + if cover: + return album.get_image(data=cover) + if not album.mbid: + return + try: + logger.info( + '[Album %s] Fetching cover from musicbrainz release %s', + album.pk, + str(album.mbid)) + return album.get_image() + except ResponseError as exc: + logger.warning( + '[Album %s] cannot fetch cover from musicbrainz: %s', + album.pk, + str(exc)) + + +IMAGE_TYPES = [ + ('jpg', 'image/jpeg'), + ('png', 'image/png'), +] + +def get_cover_from_fs(dir_path): + if os.path.exists(dir_path): + for e, m in IMAGE_TYPES: + cover_path = os.path.join(dir_path, 'cover.{}'.format(e)) + if not os.path.exists(cover_path): + logger.debug('Cover %s does not exists', cover_path) + continue + with open(cover_path, 'rb') as c: + logger.info('Found cover at %s', cover_path) + return { + 'mimetype': m, + 'content': c.read(), + } + + + @celery.app.task(name='ImportJob.run', bind=True) @celery.require_instance( models.ImportJob.objects.filter( status__in=['pending', 'errored']), 'import_job') def import_job_run(self, import_job, replace=False, use_acoustid=False): - def mark_errored(): + def mark_errored(exc): + logger.error('[Import Job %s] Error during import: %s', str(exc)) import_job.status = 'errored' import_job.save(update_fields=['status']) @@ -167,9 +271,9 @@ def import_job_run(self, import_job, replace=False, use_acoustid=False): try: self.retry(exc=exc, countdown=30, max_retries=3) except: - mark_errored() + mark_errored(exc) raise - mark_errored() + mark_errored(exc) raise diff --git a/api/tests/music/cover.jpg b/api/tests/music/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71911bf48766c7181518c1070911019fbb00b1fc GIT binary patch literal 107 zcmWm0!3~2z3<c5e0G91tzzYq~2?wf2LPE+ZkYWt`4x@=*{IQ|=RJF~k<+c*$j#bQ5 rR4tF$(vVd9(hsA1am&*@`TV}ejwB!uQ9&GFxOZ_wh=3K}bBXH#zJm|u literal 0 HcmV?d00001 diff --git a/api/tests/music/cover.png b/api/tests/music/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..32f56c8ac2aa42bb85f38529fcf59d509c724957 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo`I;1l9nb^8Br0Ye~{(b&_) zF{C2y?S)3597Dr`zbnNxTez6ncq9xG4m2>1GB5)nfsvnqF_+an6cl2fu6{1-oD!M< DR3TKT literal 0 HcmV?d00001 diff --git a/api/tests/music/sample.flac b/api/tests/music/sample.flac index 6eff1c06e43f6f536c2d810d0d059cc6af319f5e..fe3ec6e4a270da0ff0a3f1ca677da4990ddb0ea5 100644 GIT binary patch literal 91522 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 MbJ1gCRFhl(3xb&ctN;K2 delta 293 zcmZoV&3e#hg08w7F9QREPhwe`skxr1nVzA6p*BzeBp4Fp=<Mwm>g(hhWNSFlSznkR zDCpuC;%aMTU|^wZU<yPNi!{~sfx-bn{w|@;K!uJuiFpdX`K382sYTX~B_)~3rNs(C z`NhT76F;Bbe3@|)qq-qby{n(Qr=Kfc^^=z{Z?SX)ne7_n<{#t>RP2>soT1=Wl$u(c zY8{lHl$odCmYJ8FZS9zoT3no%mr|6k;GADnl9`ujy?F-<6XV3$lFW?^3fm7RF#cfP Vej$PJB~j#bpvqO#ccw6&1OVeLVa)&l diff --git a/api/tests/music/test_metadata.py b/api/tests/music/test_metadata.py index 9f9c9398..326f1832 100644 --- a/api/tests/music/test_metadata.py +++ b/api/tests/music/test_metadata.py @@ -58,6 +58,20 @@ def test_can_get_metadata_from_id3_mp3_file(field, value): assert data.get(field) == value +@pytest.mark.parametrize('name', ['test.mp3', 'sample.flac']) +def test_can_get_pictures(name): + path = os.path.join(DATA_DIR, name) + data = metadata.Metadata(path) + + pictures = data.get('pictures') + assert len(pictures) == 1 + cover_data = data.get_picture('cover_front') + assert cover_data['mimetype'].startswith('image/') + assert len(cover_data['content']) > 0 + assert type(cover_data['content']) == bytes + assert type(cover_data['description']) == str + + @pytest.mark.parametrize('field,value', [ ('title', '999,999'), ('artist', 'Nine Inch Nails'), diff --git a/api/tests/music/test_models.py b/api/tests/music/test_models.py index e926d07f..feb68ea3 100644 --- a/api/tests/music/test_models.py +++ b/api/tests/music/test_models.py @@ -110,3 +110,11 @@ def test_track_get_file_size_in_place(factories): in_place=True, source='file://{}'.format(path)) assert tf.get_file_size() == 297745 + + +def test_album_get_image_content(factories): + album = factories['music.Album']() + album.get_image(data={'content': b'test', 'mimetype':'image/jpeg'}) + album.refresh_from_db() + + assert album.cover.read() == b'test' diff --git a/api/tests/music/test_tasks.py b/api/tests/music/test_tasks.py index dfe649be..77245e20 100644 --- a/api/tests/music/test_tasks.py +++ b/api/tests/music/test_tasks.py @@ -56,6 +56,7 @@ def test_import_batch_run(factories, mocker): mocked_job_run.assert_called_once_with(import_job_id=job.pk) +@pytest.mark.skip('Acoustid is disabled') def test_import_job_can_run_with_file_and_acoustid( artists, albums, tracks, preferences, factories, mocker): preferences['providers_acoustid__api_key'] = 'test' @@ -183,3 +184,73 @@ def test_import_job_can_be_errored(factories, mocker, preferences): assert job.track_file is None assert job.status == 'errored' + + +def test__do_import_calls_update_album_cover_if_no_cover(factories, mocker): + path = os.path.join(DATA_DIR, 'test.ogg') + album = factories['music.Album'](cover='') + track = factories['music.Track'](album=album) + + mocker.patch( + 'funkwhale_api.providers.audiofile.tasks.import_track_data_from_path', + return_value=track) + + mocked_update = mocker.patch( + 'funkwhale_api.music.tasks.update_album_cover') + + job = factories['music.FileImportJob']( + audio_file__path=path, track_file=None) + + tasks.import_job_run(import_job_id=job.pk) + + mocked_update.assert_called_once_with(album, track.files.first()) + + +def test_update_album_cover_mbid(factories, mocker): + album = factories['music.Album'](cover='') + + mocked_get = mocker.patch('funkwhale_api.music.models.Album.get_image') + tasks.update_album_cover(album=album, track_file=None) + + mocked_get.assert_called_once_with() + + +def test_update_album_cover_file_data(factories, mocker): + path = os.path.join(DATA_DIR, 'test.mp3') + album = factories['music.Album'](cover='', mbid=None) + tf = factories['music.TrackFile'](track__album=album) + + mocked_get = mocker.patch('funkwhale_api.music.models.Album.get_image') + mocker.patch( + 'funkwhale_api.music.metadata.Metadata.get_picture', + return_value={'hello': 'world'}) + tasks.update_album_cover(album=album, track_file=tf) + md = data = tf.get_metadata() + mocked_get.assert_called_once_with( + data={'hello': 'world'}) + + +@pytest.mark.parametrize('ext,mimetype', [ + ('jpg', 'image/jpeg'), + ('png', 'image/png'), +]) +def test_update_album_cover_file_cover_separate_file( + ext, mimetype, factories, mocker): + mocker.patch('funkwhale_api.music.tasks.IMAGE_TYPES', [(ext, mimetype)]) + path = os.path.join(DATA_DIR, 'test.mp3') + image_path = os.path.join(DATA_DIR, 'cover.{}'.format(ext)) + with open(image_path, 'rb') as f: + image_content = f.read() + album = factories['music.Album'](cover='', mbid=None) + tf = factories['music.TrackFile']( + track__album=album, + source='file://' + image_path) + + mocked_get = mocker.patch('funkwhale_api.music.models.Album.get_image') + mocker.patch( + 'funkwhale_api.music.metadata.Metadata.get_picture', + return_value=None) + tasks.update_album_cover(album=album, track_file=tf) + md = data = tf.get_metadata() + mocked_get.assert_called_once_with( + data={'mimetype': mimetype, 'content': image_content}) diff --git a/changes/changelog.d/219.enhancement b/changes/changelog.d/219.enhancement new file mode 100644 index 00000000..fec9a07a --- /dev/null +++ b/changes/changelog.d/219.enhancement @@ -0,0 +1 @@ +Can now use album covers from flac/mp3 metadata and separate file in track directory (#219) diff --git a/changes/changelog.d/231.bugfix b/changes/changelog.d/231.bugfix new file mode 100644 index 00000000..0b37b627 --- /dev/null +++ b/changes/changelog.d/231.bugfix @@ -0,0 +1,50 @@ +We now fetch album covers regardless of the import methods (#231) + +Smarter album cover importer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In earlier versions, covers where only imported when launching a YouTube import. +Starting from this release, covers will be imported regardless of the import mode +(file upload, youtube-dl, CLI, in-place...). Funkwhale will look for covers +in the following order: + +1. In the imported file itself (FLAC/MP3 only) +2. In a cover.jpg or cover.png in the file directory +3. By fetching cover art from Musibrainz, assuming the file is tagged correctly + +This will only work for newly imported tracks and albums though. In the future, +we may offer an option to refetch album covers from the interface, but in the +meantime, you can use the following snippet: + +.. code-block:: python + + # Store this in /tmp/update_albums.py + from funkwhale_api.music.models import Album, TrackFile + from funkwhale_api.music.tasks import update_album_cover + + albums_without_covers = Album.objects.filter(cover='') + total = albums_without_covers.count() + print('Found {} albums without cover'.format(total)) + for i, album in enumerate(albums_without_covers.iterator()): + print('[{}/{}] Fetching cover for {}...'.format(i+1, total, album.title)) + f = TrackFile.objects.filter(track__album=album).filter(source__startswith='file://').first() + update_album_cover(album, track_file=f) + +Then launch it:: + + # docker setups + cat /tmp/update_albums.py | docker-compose run --rm api python manage.py shell -i python + + # non-docker setups + source /srv/funkwhale/load_env + source /srv/funkwhale/virtualenv/bin/activate + cat /tmp/update_albums.py | python manage.py shell -i python + + # cleanup + rm /tmp/update_albums.py + +.. note:: + + Depending on your number of albums, the previous snippet may take some time + to execute. You can interrupt it at any time using ctrl-c and relaunch it later, + as it's idempotent. diff --git a/docs/importing-music.rst b/docs/importing-music.rst index 4d256604..b190dff3 100644 --- a/docs/importing-music.rst +++ b/docs/importing-music.rst @@ -76,6 +76,15 @@ configuration options to ensure the webserver can serve them properly: Thus, be especially careful when you manipulate the source files. +Album covers +^^^^^^^^^^^^ + +Whenever possible, Funkwhale will import album cover, with the following precedence: + +1. It will use the cover embedded in the audio files themeselves, if any (Flac/MP3 only) +2. It will use a cover.jpg or a cover.png file from the imported track directory, if any +3. It will fectch cover art from musicbrainz, assuming the file is tagged correctly + Getting demo tracks ^^^^^^^^^^^^^^^^^^^ -- GitLab