[tasks] Add weigh-in task importer
All checks were successful
build & deploy / test (push) Successful in 1m48s
build & deploy / build-and-deploy (push) Successful in 33s

This commit is contained in:
2026-05-21 09:09:41 -04:00
parent 2b88f89794
commit 9d3f7f434f
9 changed files with 307 additions and 0 deletions

View File

@ -72,6 +72,7 @@ from scrobbles.models import (
KoReaderImport,
LastFmImport,
RetroarchImport,
ScaleCSVImport,
Scrobble,
)
from scrobbles.scrobblers import *
@ -461,6 +462,9 @@ class ScrobbleImportListView(TemplateView):
).objects.filter(
user=self.request.user,
).order_by("-processing_started")[:10]
context_data["scale_csv_imports"] = ScaleCSVImport.objects.filter(
user=self.request.user,
).order_by("-processing_started")[:10]
return context_data
@ -482,6 +486,8 @@ class BaseScrobbleImportDetailView(DetailView):
title = "LastFM Import"
if self.model == RetroarchImport:
title = "Retroarch Import"
if self.model == ScaleCSVImport:
title = "Scale CSV Import"
context_data["title"] = title
return context_data
@ -502,6 +508,10 @@ class ScrobbleRetroarchImportDetailView(BaseScrobbleImportDetailView):
model = RetroarchImport
class ScrobbleScaleCSVImportDetailView(BaseScrobbleImportDetailView):
model = ScaleCSVImport
class ManualScrobbleView(FormView):
form_class = ScrobbleForm
template_name = "scrobbles/manual_form.html"
@ -574,6 +584,22 @@ class KoReaderImportCreateView(LoginRequiredMixin, JsonableResponseMixin, Create
return HttpResponseRedirect(self.request.META.get("HTTP_REFERER"))
class ScaleCSVImportCreateView(
LoginRequiredMixin, JsonableResponseMixin, CreateView
):
model = ScaleCSVImport
fields = ["csv_file"]
template_name = "scrobbles/upload_form.html"
success_url = reverse_lazy("vrobbler-home")
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.user = self.request.user
self.object.save()
self.object.process()
return HttpResponseRedirect(self.request.META.get("HTTP_REFERER"))
@api_view(["GET"])
@permission_classes([IsAuthenticated])
def lastfm_import(request):