diff options
| author | Grant Ammons <gammons@gmail.com> | 2016-04-24 10:22:33 -0400 |
|---|---|---|
| committer | Grant Ammons <gammons@gmail.com> | 2016-04-24 10:22:33 -0400 |
| commit | 63893587cb41a1980318b60bf05fafbf433a24ab (patch) | |
| tree | 39c93f3a1735ef33d028ab9ef44fc0ac15049208 /todolist/file_store.go | |
| parent | 6bb90375f4efb2f390a61ede0df70eea1ef1f50f (diff) | |
Organize things a bit better
Diffstat (limited to 'todolist/file_store.go')
| -rw-r--r-- | todolist/file_store.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/todolist/file_store.go b/todolist/file_store.go new file mode 100644 index 0000000..3f71ba2 --- /dev/null +++ b/todolist/file_store.go @@ -0,0 +1,34 @@ +package todolist + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "os" + "os/user" +) + +type FileStore struct { + FileLocation string + Data []Todo +} + +func NewFileStore() *FileStore { + usr, _ := user.Current() + return &FileStore{FileLocation: usr.HomeDir + "/.todos.json"} +} + +func (f *FileStore) Load() { + data, err := ioutil.ReadFile(f.FileLocation) + if err != nil { + fmt.Println("Error reading file", err) + os.Exit(1) + } + + jerr := json.Unmarshal(data, &f.Data) + if jerr != nil { + fmt.Println("Error reading json data", jerr) + os.Exit(1) + } + +} |
