From 20245c109b7bc32ff5359b751bef5a608db94f75 Mon Sep 17 00:00:00 2001 From: stefanodvx <69367859+stefanodvx@users.noreply.github.com> Date: Tue, 15 Apr 2025 21:32:56 +0200 Subject: [PATCH] more cleaning logics --- bot/core/download.go | 10 +++++++++- main.go | 1 + util/download.go | 10 ++++++++++ util/misc.go | 8 ++++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/bot/core/download.go b/bot/core/download.go index 4e638a3..d8668ec 100644 --- a/bot/core/download.go +++ b/bot/core/download.go @@ -194,7 +194,15 @@ func DownloadMedias( } if firstError != nil { - return results, firstError + for _, result := range results { + if result.FilePath != "" { + os.Remove(result.FilePath) + } + if result.ThumbnailFilePath != "" { + os.Remove(result.ThumbnailFilePath) + } + } + return nil, firstError } if len(results) > 1 { diff --git a/main.go b/main.go index 138075c..7c5fd25 100644 --- a/main.go +++ b/main.go @@ -14,6 +14,7 @@ func main() { if err != nil { log.Fatal("error loading .env file") } + util.ClearDownlods() ok := util.CheckFFmpeg() if !ok { log.Fatal("ffmpeg executable not found. please install it or add it to your PATH") diff --git a/util/download.go b/util/download.go index 644a72e..578becd 100644 --- a/util/download.go +++ b/util/download.go @@ -481,9 +481,19 @@ func downloadSegments( errChan := make(chan error, len(segmentURLs)) var errMutex sync.Mutex + var firstErr error downloadedFiles := make([]string, len(segmentURLs)) + defer func() { + if firstErr != nil { + for _, path := range downloadedFiles { + if path != "" { + os.Remove(path) + } + } + } + }() downloadCtx, cancelDownload := context.WithCancel(ctx) defer cancelDownload() diff --git a/util/misc.go b/util/misc.go index 86cdf94..5e838ba 100644 --- a/util/misc.go +++ b/util/misc.go @@ -110,3 +110,11 @@ func CheckFFmpeg() bool { _, err := exec.LookPath("ffmpeg") return err == nil } + +func ClearDownlods() { + downloadsDir := os.Getenv("DOWNLOADS_DIR") + if downloadsDir == "" { + downloadsDir = "downloads" + } + os.RemoveAll(downloadsDir) +}