minor changnes to default config path

Signed-off-by: Michael <michael.lindman@gmail.com>
This commit is contained in:
Michael 2021-08-24 23:50:29 +01:00
parent d98c3c539e
commit c5a2892136
2 changed files with 13 additions and 5 deletions

View File

@ -10,6 +10,7 @@ import (
// Config application configuration // Config application configuration
type Config struct { type Config struct {
Addr string `yaml:"addr"` Addr string `yaml:"addr"`
Path string `yaml:"path"`
Account []struct { Account []struct {
Username string `yaml:"username"` Username string `yaml:"username"`
Password string `yaml:"password"` Password string `yaml:"password"`

17
main.go
View File

@ -3,7 +3,9 @@ package main
import ( import (
"flag" "flag"
"fmt" "fmt"
"log"
"os" "os"
"time"
"git.0cd.xyz/michael/gomail/mail" "git.0cd.xyz/michael/gomail/mail"
"git.0cd.xyz/michael/gtools/logger" "git.0cd.xyz/michael/gtools/logger"
@ -28,9 +30,11 @@ func main() {
if err != nil { if err != nil {
chErr <- err chErr <- err
} }
path := "./msgs/" + username path := cfg.Path + username + "/" + time.Now().Format("2006-01-02-15:04:05")
if _, err := os.Stat(path); os.IsNotExist(err) { for _, p := range []string{cfg.Path + username, path} {
os.Mkdir(path, 0775) if _, err := os.Stat(p); os.IsNotExist(err) {
os.Mkdir(p, 0775)
}
} }
if err := mail.WriteMessages(path, messages); err != nil { if err := mail.WriteMessages(path, messages); err != nil {
chErr <- err chErr <- err
@ -52,8 +56,11 @@ func ui() (cfgFile, mailbox *string, msgs *int) {
fmt.Printf("Usage of %s:\n", os.Args[0]) fmt.Printf("Usage of %s:\n", os.Args[0])
flag.PrintDefaults() flag.PrintDefaults()
} }
home, ok := os.LookupEnv("HOME")
cfgFile = flag.String("cfgFile", "./config.yaml", "path to config file") if !ok {
log.Fatal("Unable to find home directory")
}
cfgFile = flag.String("cfgFile", home+"/.config/gomail/config.yaml", "path to config file")
mailbox = flag.String("mailbox", "inbox", "mailbox to scan messages") mailbox = flag.String("mailbox", "inbox", "mailbox to scan messages")
msgs = flag.Int("msgs", 100, "Number of messages to pull") msgs = flag.Int("msgs", 100, "Number of messages to pull")