Ensure exporters finish the progress

This commit is contained in:
Philipp Wolfer 2023-11-22 11:55:31 +01:00
parent 2e6319d296
commit d810fc9cac
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
4 changed files with 6 additions and 1 deletions

View file

@ -107,6 +107,7 @@ out:
for {
result, err := b.client.GetFavoriteTracks(page, perPage)
if err != nil {
progress <- p.Complete()
results <- models.LovesResult{Error: err}
return
}

View file

@ -106,6 +106,7 @@ out:
for {
result, err := b.client.GetFeedback(b.username, 1, offset)
if err != nil {
progress <- p.Complete()
results <- models.LovesResult{Error: err}
return
}

View file

@ -103,6 +103,7 @@ func (b *ScrobblerLogBackend) ExportListens(oldestTimestamp time.Time, results c
defer close(progress)
file, err := os.Open(b.filePath)
if err != nil {
progress <- models.Progress{}.Complete()
results <- models.ListensResult{Error: err}
return
}
@ -111,8 +112,8 @@ func (b *ScrobblerLogBackend) ExportListens(oldestTimestamp time.Time, results c
log, err := Parse(file, b.includeSkipped)
if err != nil {
progress <- models.Progress{}.Complete()
results <- models.ListensResult{Error: err}
close(results)
return
}

View file

@ -49,12 +49,14 @@ func (b *SubsonicApiBackend) ExportLoves(oldestTimestamp time.Time, results chan
defer close(progress)
err := b.client.Authenticate(b.password)
if err != nil {
progress <- models.Progress{}.Complete()
results <- models.LovesResult{Error: err}
return
}
starred, err := b.client.GetStarred2(map[string]string{})
if err != nil {
progress <- models.Progress{}.Complete()
results <- models.LovesResult{Error: err}
return
}