poc cli reader which is really nothing but hush

master
Bel LaPointe 2021-12-31 16:11:43 -05:00
parent 2bcda28d5d
commit 106a6bd783
4 changed files with 59 additions and 5 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
**/*.sw*
todo-server-yaml
cmd/cmd
cmd/cli

52
cmd/cli.go Normal file
View File

@ -0,0 +1,52 @@
package main
import (
"bytes"
"flag"
"io"
"io/ioutil"
"local/pt-todo-server/pttodo"
"log"
"os"
"gopkg.in/yaml.v2"
)
func main() {
if err := _main(); err != nil {
panic(err)
}
}
func _main() error {
filepath := flag.String("f", "-", "path to yaml file")
flag.Parse()
var reader io.Reader
if *filepath == "-" {
reader = os.Stdin
} else {
b, err := ioutil.ReadFile(*filepath)
if err != nil {
return err
}
reader = bytes.NewReader(b)
}
b, err := ioutil.ReadAll(reader)
if err != nil {
return err
}
var root pttodo.Root
if err := yaml.Unmarshal(b, &root); err != nil {
return err
}
b2, err := yaml.Marshal(root)
if err != nil {
return err
}
log.Printf("%s", b2)
return nil
}

View File

@ -2,7 +2,7 @@ package pttodo
type Todo struct {
Todo string
Detail string
TS TS
Schedule Schedule
Detail string `yaml:",omitempty"`
TS TS `yaml:",omitempty"`
Schedule Schedule `yaml:",omitempty"`
}

View File

@ -6,12 +6,12 @@ todo:
ts: 111
-
todo: task that appeared when 'when'
loop: "* * * * *" # or ([0-9]*[a-z])+ for durations, or int for scheduled/deferred
schedule: "* * * * *" # or ([0-9]*[a-z])+ for durations, or int for scheduled/deferred
ts: 222
scheduled:
-
todo: task that will appear when 'when'
loop: "* * * * *" # or ([0-9]*[a-z])+ for durations, or int for scheduled/deferred
schedule: "* * * * *" # or ([0-9]*[a-z])+ for durations, or int for scheduled/deferred
ts: 333
done:
- todo: task that is done