diff --git a/main.go b/main.go index 8719381..f101037 100644 --- a/main.go +++ b/main.go @@ -27,6 +27,7 @@ import ( "time" "encoding/json" "io/ioutil" + "path/filepath" ) type Record struct { @@ -92,13 +93,24 @@ func main() { datafile := os.Getenv("HOME") + "/.gott/data.json" args := os.Args[1:] + dir := filepath.Dir(datafile) + if _, errDir := os.Stat(dir); os.IsNotExist(errDir) { + errCreateDir := os.Mkdir(dir, 0777) + if errCreateDir == nil { + fmt.Println("Created data directory") + } else { + fmt.Println("Cannot create data directory. Please create it on your own") + return + } + } + // representation of the data data := Records { Entries: []Record {}, } - jsonFile, err := os.Open(datafile) + jsonFile, err := os.Create(datafile) if err != nil { fmt.Println(err)