Fix reprocess for audio originals
This commit is contained in:
11
handlers.go
11
handlers.go
@@ -836,9 +836,9 @@ func deleteOriginalVideos(originalID int) {
|
|||||||
db.Delete(&Video{}, "original_id = ? AND source = ?", originalID, "original")
|
db.Delete(&Video{}, "original_id = ? AND source = ?", originalID, "original")
|
||||||
}
|
}
|
||||||
|
|
||||||
func deleteAudios(originalID int) {
|
func deleteAudiosWithSource(originalID int, source string) {
|
||||||
var audios []Audio
|
var audios []Audio
|
||||||
db.Where("original_id = ?", originalID).Find(&audios)
|
db.Where("original_id = ?", originalID).Where("source = ?", source).Find(&audios)
|
||||||
for _, audio := range audios {
|
for _, audio := range audios {
|
||||||
path := filepath.Join(getDataDir(), audio.Filename)
|
path := filepath.Join(getDataDir(), audio.Filename)
|
||||||
log.Debugln("remove audio", path)
|
log.Debugln("remove audio", path)
|
||||||
@@ -847,7 +847,7 @@ func deleteAudios(originalID int) {
|
|||||||
log.Errorln("error removing", path, err)
|
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 {
|
func videoDeleteHandler(c echo.Context) error {
|
||||||
@@ -860,7 +860,8 @@ func videoDeleteHandler(c echo.Context) error {
|
|||||||
deleteTranscodes(id)
|
deleteTranscodes(id)
|
||||||
deleteTranscodedVideos(id)
|
deleteTranscodedVideos(id)
|
||||||
deleteOriginalVideos(id)
|
deleteOriginalVideos(id)
|
||||||
deleteAudios(id)
|
deleteAudiosWithSource(id, "original")
|
||||||
|
deleteAudiosWithSource(id, "transcode")
|
||||||
|
|
||||||
db.Delete(&orig)
|
db.Delete(&orig)
|
||||||
return c.Redirect(http.StatusSeeOther, "/videos")
|
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?
|
id, _ := strconv.Atoi(c.Param("id")) // FIXME: strconv.ParseUint?
|
||||||
|
|
||||||
deleteTranscodes(id)
|
deleteTranscodes(id)
|
||||||
deleteAudios(id)
|
deleteAudiosWithSource(id, "transcode")
|
||||||
deleteTranscodedVideos(id)
|
deleteTranscodedVideos(id)
|
||||||
|
|
||||||
err := SetOriginalStatus(uint(id), DownloadCompleted)
|
err := SetOriginalStatus(uint(id), DownloadCompleted)
|
||||||
|
@@ -132,7 +132,11 @@ func videoToAudio(transID uint, kbps uint, videoFilepath string) {
|
|||||||
db.First(&orig, "id = ?", trans.OriginalID)
|
db.First(&orig, "id = ?", trans.OriginalID)
|
||||||
|
|
||||||
// create audio record
|
// 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)
|
fileSize, err := getSize(audioFilepath)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@@ -190,6 +194,7 @@ func audioToAudio(transID uint, kbps uint, srcFilepath string) {
|
|||||||
OriginalID: orig.ID,
|
OriginalID: orig.ID,
|
||||||
Filename: dstFilename,
|
Filename: dstFilename,
|
||||||
Bps: kbps * 1000,
|
Bps: kbps * 1000,
|
||||||
|
Source: "transcode",
|
||||||
}
|
}
|
||||||
|
|
||||||
fileSize, err := getSize(dstFilepath)
|
fileSize, err := getSize(dstFilepath)
|
||||||
|
Reference in New Issue
Block a user