feat: add scheduler
This commit is contained in:
parent
26ddc8ac66
commit
8eb2193f3c
46
main.go
46
main.go
|
|
@ -10,8 +10,32 @@ import (
|
|||
"git.meatbag.se/varl/subsyt/internal/dl"
|
||||
"git.meatbag.se/varl/subsyt/internal/metadata"
|
||||
"git.meatbag.se/varl/subsyt/internal/opml"
|
||||
"git.meatbag.se/varl/subsyt/internal/scheduler"
|
||||
)
|
||||
|
||||
func run(cfg config.Config) {
|
||||
provider := cfg.Provider["youtube"]
|
||||
|
||||
opml, err := opml.Load(provider.Opml_file)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for _, outlines := range opml.Body.Outline {
|
||||
log.Printf("Archiving videos from OPML: %s\n", outlines.Title)
|
||||
|
||||
for _, outline := range outlines.Outlines {
|
||||
dl.Youtube(dl.Download{
|
||||
Url: outline.XmlUrl,
|
||||
OutDir: filepath.Join(cfg.Out_dir, outline.Title),
|
||||
DryRun: cfg.Dry_run,
|
||||
}, provider)
|
||||
|
||||
metadata.Generate(cfg.Out_dir, outline.Title, cfg.Dry_run)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
configPtr := flag.String("config", "", "path to config file")
|
||||
flag.Parse()
|
||||
|
|
@ -34,24 +58,6 @@ func main() {
|
|||
panic(err)
|
||||
}
|
||||
|
||||
provider := cfg.Provider["youtube"]
|
||||
|
||||
opml, err := opml.Load(provider.Opml_file)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
for _, outlines := range opml.Body.Outline {
|
||||
log.Printf("Archiving videos from OPML: %s\n", outlines.Title)
|
||||
|
||||
for _, outline := range outlines.Outlines {
|
||||
dl.Youtube(dl.Download{
|
||||
Url: outline.XmlUrl,
|
||||
OutDir: filepath.Join(cfg.Out_dir, outline.Title),
|
||||
DryRun: cfg.Dry_run,
|
||||
}, provider)
|
||||
|
||||
metadata.Generate(cfg.Out_dir, outline.Title, cfg.Dry_run)
|
||||
}
|
||||
}
|
||||
s := scheduler.Scheduler{}
|
||||
s.Start(run, cfg)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue