From e63d8630ccf2a95d9907f70106df90d927438099 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 24 May 2020 17:47:37 +0200 Subject: [PATCH] Import 45 RPM vinyles --- media/admin.py | 13 ++++++++++++- media/management/commands/import_vinyles.py | 7 ++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/media/admin.py b/media/admin.py index abe0f86..3ecbab2 100644 --- a/media/admin.py +++ b/media/admin.py @@ -88,6 +88,17 @@ class CDAdmin(VersionAdmin): authors_list.short_description = _('authors') +class VinyleAdmin(VersionAdmin): + list_display = ('title', 'authors_list', 'side_identifier', 'rpm',) + search_fields = ('title', 'authors__name', 'side_identifier', 'rpm',) + autocomplete_fields = ('authors',) + + def authors_list(self, obj): + return ", ".join([a.name for a in obj.authors.all()]) + + authors_list.short_description = _('authors') + + class RevueAdmin(VersionAdmin): list_display = ('__str__', 'number', 'year', 'month', 'day', 'double',) search_fields = ('title', 'number', 'year',) @@ -141,7 +152,7 @@ admin_site.register(BD, MediaAdmin) admin_site.register(Manga, MediaAdmin) admin_site.register(Roman, MediaAdmin) admin_site.register(CD, CDAdmin) -admin_site.register(Vinyle, CDAdmin) +admin_site.register(Vinyle, VinyleAdmin) admin_site.register(Revue, RevueAdmin) admin_site.register(FutureMedia, FutureMediaAdmin) admin_site.register(Emprunt, EmpruntAdmin) diff --git a/media/management/commands/import_vinyles.py b/media/management/commands/import_vinyles.py index 2c189a4..dc64372 100644 --- a/media/management/commands/import_vinyles.py +++ b/media/management/commands/import_vinyles.py @@ -34,14 +34,15 @@ class Command(BaseCommand): continue side = vinyle[0] - title = vinyle[1] - authors_str = vinyle[2].split('|') + title = vinyle[1 if rpm == 33 else 2] + authors_str = vinyle[2 if rpm == 33 else 1]\ + .split('|' if rpm == 33 else ';') authors = [Auteur.objects.get_or_create(name=author)[0] for author in authors_str] vinyle, created = Vinyle.objects.get_or_create( title=title, side_identifier=side, - rp=rpm, + rpm=rpm, ) vinyle.authors.set(authors) vinyle.save()