mirror of
https://git.sr.ht/~phw/scotty
synced 2025-06-05 12:58:33 +02:00
Pass context to import backends
This commit is contained in:
parent
26d9f5e840
commit
4a66e3d432
8 changed files with 71 additions and 42 deletions
|
@ -192,9 +192,15 @@ out:
|
|||
progress <- p
|
||||
}
|
||||
|
||||
func (b *LastfmApiBackend) ImportListens(export models.ListensResult, importResult models.ImportResult, progress chan models.TransferProgress) (models.ImportResult, error) {
|
||||
func (b *LastfmApiBackend) ImportListens(ctx context.Context, export models.ListensResult, importResult models.ImportResult, progress chan models.TransferProgress) (models.ImportResult, error) {
|
||||
total := len(export.Items)
|
||||
for i := 0; i < total; i += MaxListensPerSubmission {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return importResult, ctx.Err()
|
||||
default:
|
||||
}
|
||||
|
||||
listens := export.Items[i:min(i+MaxListensPerSubmission, total)]
|
||||
count := len(listens)
|
||||
if count == 0 {
|
||||
|
@ -354,8 +360,14 @@ out:
|
|||
results <- models.LovesResult{Items: loves, Total: totalCount}
|
||||
}
|
||||
|
||||
func (b *LastfmApiBackend) ImportLoves(export models.LovesResult, importResult models.ImportResult, progress chan models.TransferProgress) (models.ImportResult, error) {
|
||||
func (b *LastfmApiBackend) ImportLoves(ctx context.Context, export models.LovesResult, importResult models.ImportResult, progress chan models.TransferProgress) (models.ImportResult, error) {
|
||||
for _, love := range export.Items {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return importResult, ctx.Err()
|
||||
default:
|
||||
}
|
||||
|
||||
err := b.client.Track.Love(lastfm.P{
|
||||
"track": love.TrackName,
|
||||
"artist": love.ArtistName(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue