poc cli reader which is really nothing but hush
parent
2bcda28d5d
commit
106a6bd783
|
|
@ -1,2 +1,4 @@
|
||||||
**/*.sw*
|
**/*.sw*
|
||||||
todo-server-yaml
|
todo-server-yaml
|
||||||
|
cmd/cmd
|
||||||
|
cmd/cli
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
}
|
||||||
|
|
@ -2,7 +2,7 @@ package pttodo
|
||||||
|
|
||||||
type Todo struct {
|
type Todo struct {
|
||||||
Todo string
|
Todo string
|
||||||
Detail string
|
Detail string `yaml:",omitempty"`
|
||||||
TS TS
|
TS TS `yaml:",omitempty"`
|
||||||
Schedule Schedule
|
Schedule Schedule `yaml:",omitempty"`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,12 @@ todo:
|
||||||
ts: 111
|
ts: 111
|
||||||
-
|
-
|
||||||
todo: task that appeared when 'when'
|
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
|
ts: 222
|
||||||
scheduled:
|
scheduled:
|
||||||
-
|
-
|
||||||
todo: task that will appear when 'when'
|
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
|
ts: 333
|
||||||
done:
|
done:
|
||||||
- todo: task that is done
|
- todo: task that is done
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue