From d919f5ce9ec8885a97c8da7c74157f149abb3c74 Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Thu, 2 Jan 2025 23:44:05 +0100 Subject: [PATCH] feat: actually read config --- main.go | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index d3fcc95..4081abe 100644 --- a/main.go +++ b/main.go @@ -27,13 +27,32 @@ func main() { fmt.Println("#################################################") fmt.Println() + // Read config from user profile + homeDir, err := os.UserHomeDir() + if err != nil { + fmt.Println("Error getting user home directory:", err) + os.Exit(1) + } + + configFile := filepath.Join(homeDir, "docspell-import.json") + configData, err := os.ReadFile(configFile) + if err != nil { + fmt.Println("Error reading config file:", err) + os.Exit(1) + } + var cfg config - // Get password from rbw + if err := json.Unmarshal(configData, &cfg); err != nil { + fmt.Println("Error parsing config file:", err) + os.Exit(1) + } + + // Get password from command cmd := exec.Command(cfg.PasswordCommand, cfg.PasswordCommandArgs...) password, err := cmd.Output() if err != nil { fmt.Println("Error getting password:", err) - os.Exit(0) + os.Exit(1) } validateConfig(cfg) @@ -53,11 +72,6 @@ func main() { dsUrl := cfg.DocspellURL - if len(os.Args) != 3 { - fmt.Println("FATAL Exactly two parameters needed") - os.Exit(-3) - } - fmt.Println("Settings:") uploadMissing := os.Getenv("DS_CC_UPLOAD_MISSING") == "true" if uploadMissing { @@ -144,7 +158,7 @@ func main() { } else { timestamp := int64(itemDate.(float64)) / 1000 date := time.Unix(timestamp, 0) - curDir := filepath.Join(dsArchivedir, folder, date.Format("2006/01")) + curDir := filepath.Join(cfg.ArchiveDirectory, folder, date.Format("2006/01")) if err := os.MkdirAll(curDir, 0755); err != nil { fmt.Printf("ERROR creating directory: %v\n", err) @@ -213,6 +227,4 @@ func validateConfig(cfg config) { fmt.Println("FATAL User is missing") os.Exit(-3) } - - panic("unimplemented") }