Spin TSV imports off to tasks

This commit is contained in:
2023-02-16 23:58:06 -05:00
parent 59d0108fe5
commit e345631e27
3 changed files with 12 additions and 8 deletions

View File

@ -37,12 +37,6 @@ class AudioScrobblerTSVImport(TimeStampedModel):
return f"Audioscrobbler TSV upload: {self.tsv_file.path}"
return f"Audioscrobbler TSV upload {self.id}"
def save(self, **kwargs):
"""On save, attempt to import the TSV file"""
super().save(**kwargs)
self.process()
return
def process(self, force=False):
from scrobbles.tsv import process_audioscrobbler_tsv_file

View File

@ -1,7 +1,7 @@
import logging
from celery import shared_task
from scrobbles.models import LastFmImport
from scrobbles.models import AudioScrobblerTSVImport, LastFmImport
logger = logging.getLogger(__name__)
@ -13,3 +13,12 @@ def process_lastfm_import(import_id):
logger.warn(f"LastFmImport not found with id {import_id}")
lastfm_import.process()
@shared_task
def process_tsv_import(import_id):
tsv_import = AudioScrobblerTSVImport.objects.filter(id=import_id).first()
if not tsv_import:
logger.warn(f"AudioScrobblerTSVImport not found with id {import_id}")
tsv_import.process()

View File

@ -48,7 +48,7 @@ from scrobbles.serializers import (
AudioScrobblerTSVImportSerializer,
ScrobbleSerializer,
)
from scrobbles.tasks import process_lastfm_import
from scrobbles.tasks import process_lastfm_import, process_tsv_import
from scrobbles.thesportsdb import lookup_event_from_thesportsdb
logger = logging.getLogger(__name__)
@ -173,6 +173,7 @@ class AudioScrobblerImportCreateView(
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.save()
process_tsv_import.delay(self.object.id)
return HttpResponseRedirect(self.get_success_url())