feat: actually read config

This commit is contained in:
Jan Bader 2025-01-02 23:44:05 +01:00
parent 7d4cd72bb7
commit d919f5ce9e

32
main.go
View File

@ -27,13 +27,32 @@ func main() {
fmt.Println("#################################################") fmt.Println("#################################################")
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 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...) cmd := exec.Command(cfg.PasswordCommand, cfg.PasswordCommandArgs...)
password, err := cmd.Output() password, err := cmd.Output()
if err != nil { if err != nil {
fmt.Println("Error getting password:", err) fmt.Println("Error getting password:", err)
os.Exit(0) os.Exit(1)
} }
validateConfig(cfg) validateConfig(cfg)
@ -53,11 +72,6 @@ func main() {
dsUrl := cfg.DocspellURL dsUrl := cfg.DocspellURL
if len(os.Args) != 3 {
fmt.Println("FATAL Exactly two parameters needed")
os.Exit(-3)
}
fmt.Println("Settings:") fmt.Println("Settings:")
uploadMissing := os.Getenv("DS_CC_UPLOAD_MISSING") == "true" uploadMissing := os.Getenv("DS_CC_UPLOAD_MISSING") == "true"
if uploadMissing { if uploadMissing {
@ -144,7 +158,7 @@ func main() {
} else { } else {
timestamp := int64(itemDate.(float64)) / 1000 timestamp := int64(itemDate.(float64)) / 1000
date := time.Unix(timestamp, 0) 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 { if err := os.MkdirAll(curDir, 0755); err != nil {
fmt.Printf("ERROR creating directory: %v\n", err) fmt.Printf("ERROR creating directory: %v\n", err)
@ -213,6 +227,4 @@ func validateConfig(cfg config) {
fmt.Println("FATAL User is missing") fmt.Println("FATAL User is missing")
os.Exit(-3) os.Exit(-3)
} }
panic("unimplemented")
} }