Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d944fdd0c0 | |||
| e345631e27 | |||
| 59d0108fe5 | |||
| 8d67b672f9 |
@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "vrobbler"
|
name = "vrobbler"
|
||||||
version = "0.9.1"
|
version = "0.9.3"
|
||||||
description = ""
|
description = ""
|
||||||
authors = ["Colin Powell <colin@unbl.ink>"]
|
authors = ["Colin Powell <colin@unbl.ink>"]
|
||||||
|
|
||||||
|
|||||||
@ -37,12 +37,6 @@ class AudioScrobblerTSVImport(TimeStampedModel):
|
|||||||
return f"Audioscrobbler TSV upload: {self.tsv_file.path}"
|
return f"Audioscrobbler TSV upload: {self.tsv_file.path}"
|
||||||
return f"Audioscrobbler TSV upload {self.id}"
|
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):
|
def process(self, force=False):
|
||||||
from scrobbles.tsv import process_audioscrobbler_tsv_file
|
from scrobbles.tsv import process_audioscrobbler_tsv_file
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from celery import shared_task
|
from celery import shared_task
|
||||||
|
|
||||||
from scrobbles.models import LastFmImport
|
from scrobbles.models import AudioScrobblerTSVImport, LastFmImport
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -13,3 +13,12 @@ def process_lastfm_import(import_id):
|
|||||||
logger.warn(f"LastFmImport not found with id {import_id}")
|
logger.warn(f"LastFmImport not found with id {import_id}")
|
||||||
|
|
||||||
lastfm_import.process()
|
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()
|
||||||
|
|||||||
@ -26,7 +26,7 @@ def process_audioscrobbler_tsv_file(file_path, user_tz=None):
|
|||||||
source_id = ""
|
source_id = ""
|
||||||
for row_num, row in enumerate(rows):
|
for row_num, row in enumerate(rows):
|
||||||
if row_num in [0, 1, 2]:
|
if row_num in [0, 1, 2]:
|
||||||
if "Rockbox" in row[2]:
|
if "Rockbox" in row[0]:
|
||||||
source = "Rockbox"
|
source = "Rockbox"
|
||||||
source_id += row[0] + "\n"
|
source_id += row[0] + "\n"
|
||||||
continue
|
continue
|
||||||
@ -53,7 +53,6 @@ def process_audioscrobbler_tsv_file(file_path, user_tz=None):
|
|||||||
.replace(tzinfo=user_tz)
|
.replace(tzinfo=user_tz)
|
||||||
.astimezone(pytz.utc)
|
.astimezone(pytz.utc)
|
||||||
)
|
)
|
||||||
source = 'Audioscrobbler File'
|
|
||||||
|
|
||||||
new_scrobble = Scrobble(
|
new_scrobble = Scrobble(
|
||||||
timestamp=timestamp,
|
timestamp=timestamp,
|
||||||
|
|||||||
@ -48,7 +48,7 @@ from scrobbles.serializers import (
|
|||||||
AudioScrobblerTSVImportSerializer,
|
AudioScrobblerTSVImportSerializer,
|
||||||
ScrobbleSerializer,
|
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
|
from scrobbles.thesportsdb import lookup_event_from_thesportsdb
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -173,6 +173,7 @@ class AudioScrobblerImportCreateView(
|
|||||||
self.object = form.save(commit=False)
|
self.object = form.save(commit=False)
|
||||||
self.object.user = self.request.user
|
self.object.user = self.request.user
|
||||||
self.object.save()
|
self.object.save()
|
||||||
|
process_tsv_import.delay(self.object.id)
|
||||||
return HttpResponseRedirect(self.get_success_url())
|
return HttpResponseRedirect(self.get_success_url())
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user