aboutsummaryrefslogtreecommitdiffstats
path: root/todolist
diff options
context:
space:
mode:
authorBunchhieng <Bunchhieng@gmail.com>2016-09-15 10:13:42 -0400
committerBunchhieng <Bunchhieng@gmail.com>2016-09-15 10:13:42 -0400
commitc94956df1ca37f90a42b5f66ccb63213253e4d3e (patch)
treee52b21e8c89f0309e45408e81bf57578643bc350 /todolist
parentaa0580af8066b030c720a20b5e79e98a53d1ec11 (diff)
Refactored code
Diffstat (limited to 'todolist')
-rw-r--r--todolist/app.go9
-rw-r--r--todolist/file_store.go6
2 files changed, 11 insertions, 4 deletions
diff --git a/todolist/app.go b/todolist/app.go
index 7f64366..44d97f5 100644
--- a/todolist/app.go
+++ b/todolist/app.go
@@ -153,8 +153,13 @@ func (a *App) getGroups(input string, todos []*Todo) *GroupedTodos {
return grouped
}
-func (a *App) Load() {
- a.TodoList.Load(a.TodoStore.Load())
+func (a *App) Load() error {
+ todos, err := a.TodoStore.Load()
+ if err != nil {
+ return err
+ }
+ a.TodoList.Load(todos)
+ return nil
}
func (a *App) Save() {
diff --git a/todolist/file_store.go b/todolist/file_store.go
index 61e6e7c..5413295 100644
--- a/todolist/file_store.go
+++ b/todolist/file_store.go
@@ -16,11 +16,12 @@ func NewFileStore() *FileStore {
return &FileStore{FileLocation: ".todos.json", Loaded: false}
}
-func (f *FileStore) Load() []*Todo {
+func (f *FileStore) Load() ([]*Todo, error) {
data, err := ioutil.ReadFile(f.FileLocation)
if err != nil {
fmt.Println("No todo file found!")
fmt.Println("Initialize a new todo repo by running 'todo init'")
+ return nil, err
os.Exit(0)
}
@@ -28,11 +29,12 @@ func (f *FileStore) Load() []*Todo {
jerr := json.Unmarshal(data, &todos)
if jerr != nil {
fmt.Println("Error reading json data", jerr)
+ return nil, jerr
os.Exit(1)
}
f.Loaded = true
- return todos
+ return todos, nil
}
func (f *FileStore) Initialize() {