diff --git a/api/funkwhale_api/music/management/commands/import_files.py b/api/funkwhale_api/music/management/commands/import_files.py index c2f94da5a..bd2564580 100644 --- a/api/funkwhale_api/music/management/commands/import_files.py +++ b/api/funkwhale_api/music/management/commands/import_files.py @@ -17,6 +17,7 @@ from django.core.files import File from django.core.management import call_command from django.core.management.base import BaseCommand, CommandError from django.db.models import Q +from django.db.utils import IntegrityError from django.utils import timezone from rest_framework import serializers @@ -832,6 +833,13 @@ def check_upload(stdout, upload): except serializers.ValidationError as e: stdout.write(" Invalid metadata: {}".format(e)) return + except IntegrityError: + stdout.write( + " Duplicate key violation for metadata. Skipping...\n{}".format( + upload.source + ) + ) + return else: upload.checksum = checksum upload.save(update_fields=["checksum"])