Fix #348, #474, #557, #740, #928: improved deduplication logic to prevent skipped files during import

This commit is contained in:
Eliot Berriot 2020-01-29 15:33:50 +01:00
parent 18791e57f6
commit 61cf04b376
No known key found for this signature in database
GPG key ID: 6B501DFD73514E14
5 changed files with 162 additions and 2 deletions

View file

@ -625,9 +625,18 @@ def _get_track(data, attributed_to=None, **forced_values):
else truncate(data.get("copyright"), models.MAX_LENGTHS["COPYRIGHT"])
)
query = Q(title__iexact=track_title, artist=artist, album=album, position=position)
query = Q(
title__iexact=track_title,
artist=artist,
album=album,
position=position,
disc_number=disc_number,
)
if track_mbid:
query |= Q(mbid=track_mbid)
if album_mbid:
query |= Q(mbid=track_mbid, album__mbid=album_mbid)
else:
query |= Q(mbid=track_mbid)
if track_fid:
query |= Q(fid=track_fid)