DeleteArr/DeleteArr.go

103 lines
2.2 KiB
Go
Raw Normal View History

2023-12-17 15:05:00 +07:00
package main
import (
"log"
"os"
2023-12-17 16:45:10 +07:00
"path"
2023-12-17 15:19:23 +07:00
"path/filepath"
2023-12-17 16:59:54 +07:00
"slices"
2023-12-17 15:05:00 +07:00
)
2023-12-17 16:45:10 +07:00
type RadarrMovie struct {
EventType string
SourcePath string
SourceFolder string
2023-12-17 17:12:46 +07:00
FileName string
2023-12-17 16:45:10 +07:00
InFolder bool
}
type SonarrSerie struct {
SourcePath string
SourceFolder string
2023-12-17 17:12:46 +07:00
FileName string
2023-12-17 16:45:10 +07:00
InFolder bool
SeasonFolder bool
}
func (r *RadarrMovie) IsInFolder() {
folderList := []string{"Movies", "4K-Movies"}
2023-12-17 17:12:46 +07:00
dir, f := path.Split(r.SourcePath)
r.FileName = f
2023-12-17 17:04:48 +07:00
2023-12-17 16:59:54 +07:00
ContainsFolder := slices.Contains(folderList, dir)
2023-12-17 17:12:46 +07:00
if !ContainsFolder {
2023-12-17 16:59:54 +07:00
r.InFolder = true
log.Printf("Movie %v is in a Folder\n", r.SourceFolder)
} else {
r.InFolder = false
log.Printf("Movie %v is not in a Folder\n", r.SourceFolder)
2023-12-17 16:45:10 +07:00
}
}
2023-12-17 15:05:00 +07:00
func main() {
2023-12-17 17:19:09 +07:00
// os.Setenv("radarr_moviefile_sourcepath", "/mnt/Multimedia/Download/PostProcess/Movies/Butchers.Crossing.2023.MULTi.1080p.WEB.x264-FW/Butchers.Crossing.2023.MULTi.1080p.WEB.x264-FW.mkv")
// os.Setenv("radarr_moviefile_sourcefolder", "/mnt/Multimedia/Download/PostProcess/Movies/Butchers.Crossing.2023.MULTi.1080p.WEB.x264-FW")
// os.Setenv("radarr_eventtype", "Download")
2023-12-17 17:12:46 +07:00
2023-12-17 15:19:23 +07:00
ex, err := os.Executable()
if err != nil {
panic(err)
}
exPath := filepath.Dir(ex)
f, err := os.OpenFile(exPath+"/log.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
2023-12-17 15:05:00 +07:00
if err != nil {
log.Fatalf("error opening file: %v", err)
}
defer f.Close()
log.SetOutput(f)
2023-12-17 16:45:10 +07:00
RadarrEventType := os.Getenv("radarr_eventtype")
SonarrEventType := os.Getenv("sonarr_eventtype")
if RadarrEventType != "" {
r := &RadarrMovie{}
r.EventType = os.Getenv("radarr_eventtype")
r.SourcePath = os.Getenv("radarr_moviefile_sourcepath")
log.Println(r.SourcePath)
r.SourceFolder = os.Getenv("radarr_moviefile_sourcefolder")
log.Println(r.SourceFolder)
r.IsInFolder()
if r.InFolder {
2023-12-17 17:19:09 +07:00
f, err := os.Open(r.SourceFolder)
if err != nil {
log.Println(err)
return
}
files, err := f.Readdir(0)
if err != nil {
log.Println(err)
return
}
for _, v := range files {
log.Println(v.Name(), v.IsDir())
}
2023-12-17 16:45:10 +07:00
}
}
if SonarrEventType != "" {
s := &SonarrSerie{}
s.SourcePath = os.Getenv("sonarr_episodefile_sourcepath")
log.Println(s.SourcePath)
s.SourceFolder = os.Getenv("radarr_moviefile_sourcefolder")
log.Println(s.SourceFolder)
}
2023-12-17 15:05:00 +07:00
}