fully deletable videos -- enable/disable with cli args
This commit is contained in:
@ -15,7 +15,8 @@ func readVideosFromResultset(rows *sql.Rows) []types.VideoUnloadedType {
|
||||
var vid types.VideoUnloadedType
|
||||
err := rows.Scan(&vid.MovieId, &vid.MovieName)
|
||||
if err != nil {
|
||||
panic(err.Error()) // proper error handling instead of panic in your app
|
||||
fmt.Println(err.Error())
|
||||
return nil
|
||||
}
|
||||
result = append(result, vid)
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ import (
|
||||
"net/url"
|
||||
"openmediacenter/apiGo/api/types"
|
||||
"openmediacenter/apiGo/database"
|
||||
"openmediacenter/apiGo/database/settings"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
@ -423,7 +425,8 @@ func addToVideoHandlers() {
|
||||
*/
|
||||
AddHandler("deleteVideo", VideoNode, func(info *HandlerInfo) []byte {
|
||||
var args struct {
|
||||
MovieId int
|
||||
MovieId int
|
||||
FullyDelete bool
|
||||
}
|
||||
if err := FillStruct(&args, info.Data); err != nil {
|
||||
fmt.Println(err.Error())
|
||||
@ -443,6 +446,22 @@ func addToVideoHandlers() {
|
||||
return database.ManualSuccessResponse(err)
|
||||
}
|
||||
|
||||
if settings.VideosDeletable() && args.FullyDelete {
|
||||
// get physical path of video to delete
|
||||
query = fmt.Sprintf("SELECT movie_url FROM videos WHERE movie_id=%d", args.MovieId)
|
||||
var vidpath string
|
||||
err := database.QueryRow(query).Scan(&vidpath)
|
||||
if err != nil {
|
||||
return database.ManualSuccessResponse(err)
|
||||
}
|
||||
|
||||
err = os.Remove(vidpath)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to delete file: %s\n", vidpath)
|
||||
}
|
||||
}
|
||||
|
||||
// delete video row from db
|
||||
query = fmt.Sprintf("DELETE FROM videos WHERE movie_id=%d", args.MovieId)
|
||||
return database.SuccessQuery(query)
|
||||
})
|
||||
|
@ -1,6 +1,7 @@
|
||||
package settings
|
||||
|
||||
var tvShowEnabled bool
|
||||
var videosDeletable bool
|
||||
|
||||
func TVShowsEnabled() bool {
|
||||
return tvShowEnabled
|
||||
@ -9,3 +10,11 @@ func TVShowsEnabled() bool {
|
||||
func SetTVShowEnabled(enabled bool) {
|
||||
tvShowEnabled = enabled
|
||||
}
|
||||
|
||||
func VideosDeletable() bool {
|
||||
return videosDeletable
|
||||
}
|
||||
|
||||
func SetVideosDeletable(deletable bool) {
|
||||
videosDeletable = deletable
|
||||
}
|
||||
|
@ -57,10 +57,12 @@ func handleCommandLineArguments() (*database.DatabaseConfig, bool, *string) {
|
||||
pathPrefix := flag.String("ReindexPrefix", "/var/www/openmediacenter", "Prefix path for videos to reindex")
|
||||
|
||||
disableTVShowSupport := flag.Bool("DisableTVSupport", false, "Disable the TVShow support and pages")
|
||||
videosFullyDeletable := flag.Bool("FullyDeletableVideos", false, "Allow deletion from harddisk")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
settings2.SetTVShowEnabled(!*disableTVShowSupport)
|
||||
settings2.SetVideosDeletable(*videosFullyDeletable)
|
||||
|
||||
return &database.DatabaseConfig{
|
||||
DBHost: *dbhostPtr,
|
||||
|
Reference in New Issue
Block a user