From 069f0de2ee9db6cdf12a36c09ff5227e5ab18000 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Sun, 4 May 2025 10:31:36 +0200 Subject: [PATCH] Call "FinishImport" even on error This gives the importer the chance to close connections and free resources to ensure already imported items are properly handled. --- internal/backends/import.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/backends/import.go b/internal/backends/import.go index 9938c10..0db5547 100644 --- a/internal/backends/import.go +++ b/internal/backends/import.go @@ -90,8 +90,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]]( defer close(progress) result := models.ImportResult{} - err := processor.ImportBackend().StartImport() - if err != nil { + if err := processor.ImportBackend().StartImport(); err != nil { out <- handleError(result, err, progress) return } @@ -99,6 +98,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]]( for exportResult := range results { importResult, err := processor.Import(exportResult, result, out, progress) if err != nil { + processor.ImportBackend().FinishImport() out <- handleError(result, err, progress) return } @@ -106,8 +106,7 @@ func process[R models.LovesResult | models.ListensResult, P ImportProcessor[R]]( progress <- models.Progress{}.FromImportResult(result) } - err = processor.ImportBackend().FinishImport() - if err != nil { + if err := processor.ImportBackend().FinishImport(); err != nil { out <- handleError(result, err, progress) return }