Unified export result types

This commit is contained in:
Philipp Wolfer 2023-12-03 16:56:12 +01:00
parent a4a05ea047
commit ca3b8492b0
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
12 changed files with 35 additions and 37 deletions

View file

@ -95,7 +95,7 @@ func (b *ListenBrainzApiBackend) ExportListens(oldestTimestamp time.Time, result
sort.Sort(listens)
p.Elapsed = int64(totalDuration.Seconds() - remainingTime.Seconds())
progress <- p
results <- models.ListensResult{Listens: listens, OldestTimestamp: minTime}
results <- models.ListensResult{Items: listens, OldestTimestamp: minTime}
}
results <- models.ListensResult{OldestTimestamp: minTime}
@ -103,9 +103,9 @@ func (b *ListenBrainzApiBackend) ExportListens(oldestTimestamp time.Time, result
}
func (b *ListenBrainzApiBackend) ImportListens(export models.ListensResult, importResult models.ImportResult, progress chan models.Progress) (models.ImportResult, error) {
total := len(export.Listens)
total := len(export.Items)
for i := 0; i < total; i += MaxListensPerRequest {
listens := export.Listens[i:min(i+MaxListensPerRequest, total)]
listens := export.Items[i:min(i+MaxListensPerRequest, total)]
count := len(listens)
if count == 0 {
break
@ -184,7 +184,7 @@ out:
sort.Sort(loves)
progress <- p.Complete()
results <- models.LovesResult{Loves: loves}
results <- models.LovesResult{Items: loves}
}
func (b *ListenBrainzApiBackend) ImportLoves(export models.LovesResult, importResult models.ImportResult, progress chan models.Progress) (models.ImportResult, error) {
@ -197,13 +197,13 @@ func (b *ListenBrainzApiBackend) ImportLoves(export models.LovesResult, importRe
}
// TODO: Store MBIDs directly
b.existingMbids = make(map[string]bool, len(existingLoves.Loves))
for _, love := range existingLoves.Loves {
b.existingMbids = make(map[string]bool, len(existingLoves.Items))
for _, love := range existingLoves.Items {
b.existingMbids[string(love.RecordingMbid)] = true
}
}
for _, love := range export.Loves {
for _, love := range export.Items {
recordingMbid := string(love.RecordingMbid)
if recordingMbid == "" {