From 563ea5dbaaa77e59939812d6825d54cf829db8eb Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 17 Oct 2024 10:38:40 +0300 Subject: implement sizeLimit per platform --- cmd/gos/main.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'cmd') diff --git a/cmd/gos/main.go b/cmd/gos/main.go index 6ea4995..3a4a676 100644 --- a/cmd/gos/main.go +++ b/cmd/gos/main.go @@ -7,6 +7,7 @@ import ( "log" "os" "path/filepath" + "strconv" "strings" "time" @@ -23,7 +24,7 @@ func main() { browser := flag.String("browser", "firefox", "OAuth2 browser") secretsConfigPath := filepath.Join(os.Getenv("HOME"), ".config/gos/gosec.json") secretsConfigPath = *flag.String("secretsConfig", secretsConfigPath, "Gos' secret config") - platforms := flag.String("platforms", "Mastodon,LinkedIn", "Platforms enabled") + platforms := flag.String("platforms", "Mastodon:500,LinkedIn:1000", "Platforms enabled plus their post size limits") target := flag.Int("target", 2, "How many posts per week are the target?") lookback := flag.Int("lookback", 30, "How many days look back in time for posting history") flag.Parse() @@ -36,13 +37,23 @@ func main() { args := config.Args{ DryRun: *dry, GosDir: *gosDir, - Platforms: strings.Split(*platforms, ","), + Platforms: make(map[string]int), Target: *target, Lookback: time.Duration(*lookback) * time.Hour * 24, SecretsConfigPath: secretsConfigPath, Secrets: secrets, OAuth2Browser: *browser, } + for _, platform := range strings.Split(*platforms, ",") { + // E.g. Mastodon:500 + parts := strings.Split(platform, ":") + var err error + // E.g. args.Platform["mastodon"] = 500 + args.Platforms[parts[0]], err = strconv.Atoi(parts[1]) + if err != nil { + log.Fatalln(err) + } + } if err := args.Validate(); err != nil { log.Fatal(err) -- cgit v1.2.3