From de5f1fe1de43be11fbadcfcb16bfc5beb77e6717 Mon Sep 17 00:00:00 2001 From: Carl Pearson Date: Mon, 23 Sep 2024 05:35:13 -0600 Subject: [PATCH] Fix reprocess for audio originals --- handlers.go | 11 ++++++----- workers.go | 7 ++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/handlers.go b/handlers.go index b0a76bd..dd52a7e 100644 --- a/handlers.go +++ b/handlers.go @@ -836,9 +836,9 @@ func deleteOriginalVideos(originalID int) { db.Delete(&Video{}, "original_id = ? AND source = ?", originalID, "original") } -func deleteAudios(originalID int) { +func deleteAudiosWithSource(originalID int, source string) { var audios []Audio - db.Where("original_id = ?", originalID).Find(&audios) + db.Where("original_id = ?", originalID).Where("source = ?", source).Find(&audios) for _, audio := range audios { path := filepath.Join(getDataDir(), audio.Filename) log.Debugln("remove audio", path) @@ -847,7 +847,7 @@ func deleteAudios(originalID int) { log.Errorln("error removing", path, err) } } - db.Delete(&Audio{}, "original_id = ?", originalID) + db.Delete(&Audio{}, "original_id = ? AND source = ?", originalID, source) } func videoDeleteHandler(c echo.Context) error { @@ -860,7 +860,8 @@ func videoDeleteHandler(c echo.Context) error { deleteTranscodes(id) deleteTranscodedVideos(id) deleteOriginalVideos(id) - deleteAudios(id) + deleteAudiosWithSource(id, "original") + deleteAudiosWithSource(id, "transcode") db.Delete(&orig) return c.Redirect(http.StatusSeeOther, "/videos") @@ -881,7 +882,7 @@ func processHandler(c echo.Context) error { id, _ := strconv.Atoi(c.Param("id")) // FIXME: strconv.ParseUint? deleteTranscodes(id) - deleteAudios(id) + deleteAudiosWithSource(id, "transcode") deleteTranscodedVideos(id) err := SetOriginalStatus(uint(id), DownloadCompleted) diff --git a/workers.go b/workers.go index 7e6319a..9d7697a 100644 --- a/workers.go +++ b/workers.go @@ -132,7 +132,11 @@ func videoToAudio(transID uint, kbps uint, videoFilepath string) { db.First(&orig, "id = ?", trans.OriginalID) // create audio record - audio := Audio{OriginalID: orig.ID, Filename: audioFilename, Bps: kbps * 1000} + audio := Audio{OriginalID: orig.ID, + Filename: audioFilename, + Bps: kbps * 1000, + Source: "transcode", + } fileSize, err := getSize(audioFilepath) if err == nil { @@ -190,6 +194,7 @@ func audioToAudio(transID uint, kbps uint, srcFilepath string) { OriginalID: orig.ID, Filename: dstFilename, Bps: kbps * 1000, + Source: "transcode", } fileSize, err := getSize(dstFilepath)