plumbed through child add/delete subcommands

This commit is contained in:
sm
2015-08-09 16:07:39 -07:00
parent 8e5f559567
commit 5957437ded
5 changed files with 107 additions and 53 deletions
+43
View File
@@ -0,0 +1,43 @@
package children
import (
"encoding/json"
"errors"
"os"
"sync"
"mcquay.me/fs"
)
var mut sync.Mutex
type DB map[string]int
func Load(filename string) (children DB, err error) {
db := DB{}
if !fs.Exists(filename) {
return db, errors.New("db file doesn't exist")
}
f, err := os.Open(filename)
if err != nil {
return nil, err
}
if err := json.NewDecoder(f).Decode(&db); err != nil {
return nil, err
}
return db, nil
}
func (db DB) Save(filename string) error {
mut.Lock()
defer mut.Unlock()
f, err := os.Create(filename)
if err != nil {
return err
}
defer f.Close()
if err := json.NewEncoder(f).Encode(db); err != nil {
return err
}
return nil
}