Fix #237: Do not crash when importing track with an artist that do not match the release artist

This commit is contained in:
Eliot Berriot 2018-06-06 21:41:38 +02:00
parent 33ae51fc91
commit 9d9676aa17
No known key found for this signature in database
GPG Key ID: DD6965E2476E5C27
2 changed files with 9 additions and 2 deletions

View File

@ -334,6 +334,11 @@ class TrackQuerySet(models.QuerySet):
.prefetch_related('files'))
def get_artist(release_list):
return Artist.get_or_create_from_api(
mbid=release_list[0]['artist-credits'][0]['artists']['id'])[0]
class Track(APIModelMixin):
title = models.CharField(max_length=255)
artist = models.ForeignKey(
@ -363,8 +368,9 @@ class Track(APIModelMixin):
'musicbrainz_field_name': 'title'
},
'artist': {
'musicbrainz_field_name': 'artist-credit',
'converter': lambda v: Artist.get_or_create_from_api(mbid=v[0]['artist']['id'])[0],
# we use the artist from the release to avoid #237
'musicbrainz_field_name': 'release-list',
'converter': get_artist,
},
'album': {
'musicbrainz_field_name': 'release-list',

View File

@ -0,0 +1 @@
Do not crash when importing track with an artist that do not match the release artist (#237)