Fix reprocess for audio originals

This commit is contained in:
Carl Pearson
2024-09-23 05:35:13 -06:00
parent b90e105828
commit de5f1fe1de
2 changed files with 12 additions and 6 deletions

View File

@@ -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)

View File

@@ -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)