From 8eb2193f3cddcca991a66137ebb3d74078b00e47 Mon Sep 17 00:00:00 2001 From: Viktor Varland Date: Mon, 14 Apr 2025 12:35:53 +0200 Subject: [PATCH] feat: add scheduler --- main.go | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/main.go b/main.go index 97c978e..45b1228 100644 --- a/main.go +++ b/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) }