Add exporting and importing scrobbles

This commit is contained in:
2023-02-04 17:08:01 -05:00
parent 4c434aeb7c
commit 9d303b1b94
9 changed files with 228 additions and 26 deletions

View File

@ -51,7 +51,7 @@ class AudioScrobblerTSVImport(TimeStampedModel):
if scrobbles:
self.process_log = f"Created {len(scrobbles)} scrobbles"
for scrobble in scrobbles:
scrobble_str = f"{scrobble.id}\t{scrobble.timestamp}\t{scrobble.track.title}\t"
scrobble_str = f"{scrobble.id}\t{scrobble.timestamp}\t{scrobble.track.title}"
self.process_log += f"\n{scrobble_str}"
self.process_count = len(scrobbles)
else:
@ -63,6 +63,11 @@ class AudioScrobblerTSVImport(TimeStampedModel):
update_fields=['processed_on', 'process_count', 'process_log']
)
def undo(self, dryrun=True):
from scrobbles.tsv import undo_audioscrobbler_tsv_import
undo_audioscrobbler_tsv_import(self.process_log, dryrun)
class ChartRecord(TimeStampedModel):
"""Sort of like a materialized view for what we could dynamically generate,