always write ts, when a todo with schedule deleted, conditionally go back to schedule for loopers
parent
4bdee5d9a0
commit
bbdd38fba7
|
|
@ -14,6 +14,7 @@ import (
|
||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
|
@ -172,14 +173,21 @@ func edit(dry bool, filepaths []string) error {
|
||||||
for i := range newTodos {
|
for i := range newTodos {
|
||||||
newTodoIDs[newTodos[i].ID()] = struct{}{}
|
newTodoIDs[newTodos[i].ID()] = struct{}{}
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := range original.Todo {
|
for i := range original.Todo {
|
||||||
if _, ok := newTodoIDs[original.Todo[i].ID()]; !ok {
|
if _, ok := newTodoIDs[original.Todo[i].ID()]; !ok {
|
||||||
|
original.Todo[i].TS = pttodo.TS(time.Now().Unix())
|
||||||
|
if string(original.Todo[i].Schedule) != "" && !original.Todo[i].Triggered() {
|
||||||
|
original.Scheduled = append(original.Scheduled, original.Todo[i])
|
||||||
|
} else {
|
||||||
original.Done = append(original.Done, original.Todo[i])
|
original.Done = append(original.Done, original.Todo[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
original.Todo = newTodos
|
original.Todo = newTodos
|
||||||
|
|
||||||
original.AutoMove()
|
original.AutoMove()
|
||||||
|
|
||||||
c, err := yaml.Marshal(original)
|
c, err := yaml.Marshal(original)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
todo:
|
todo:
|
||||||
- b
|
- todo: b
|
||||||
|
ts: Thu Mar 24 09:03:24 MDT 2022
|
||||||
scheduled:
|
scheduled:
|
||||||
|
- todo: due
|
||||||
|
schedule: "2022-05-01"
|
||||||
|
ts: Thu Mar 24 09:16:21 MDT 2022
|
||||||
|
- todo: loop
|
||||||
|
schedule: 10s
|
||||||
|
ts: Thu Mar 24 09:17:11 MDT 2022
|
||||||
|
done:
|
||||||
- todo: abc
|
- todo: abc
|
||||||
schedule: "2022-05-01"
|
schedule: "2022-05-01"
|
||||||
ts: Wed Mar 23 08:03:45 MDT 2022
|
ts: Wed Mar 23 08:03:45 MDT 2022
|
||||||
- todo: def
|
- todo: def
|
||||||
schedule: "2022-05-01"
|
schedule: "2022-05-01"
|
||||||
ts: Wed Mar 23 08:04:05 MDT 2022
|
ts: Wed Mar 23 08:04:05 MDT 2022
|
||||||
done:
|
|
||||||
- todo: other
|
- todo: other
|
||||||
ts: Wed Mar 23 09:44:57 MDT 2022
|
ts: Wed Mar 23 09:44:57 MDT 2022
|
||||||
- todo: b
|
- todo: b
|
||||||
|
|
@ -18,3 +25,21 @@ done:
|
||||||
ts: Wed Mar 23 09:45:24 MDT 2022
|
ts: Wed Mar 23 09:45:24 MDT 2022
|
||||||
- todo: a
|
- todo: a
|
||||||
ts: Wed Mar 23 09:45:31 MDT 2022
|
ts: Wed Mar 23 09:45:31 MDT 2022
|
||||||
|
- todo: looper
|
||||||
|
schedule: 15s
|
||||||
|
ts: Thu Mar 24 09:01:41 MDT 2022
|
||||||
|
- todo: looper
|
||||||
|
schedule: 15s
|
||||||
|
ts: Thu Mar 24 09:04:51 MDT 2022
|
||||||
|
- todo: loop
|
||||||
|
schedule: 10s
|
||||||
|
ts: Thu Mar 24 09:06:59 MDT 2022
|
||||||
|
- todo: due
|
||||||
|
schedule: "2022-02-01"
|
||||||
|
ts: Thu Mar 24 09:15:42 MDT 2022
|
||||||
|
- todo: due
|
||||||
|
schedule: "2022-02-01"
|
||||||
|
ts: Thu Mar 24 09:16:53 MDT 2022
|
||||||
|
- todo: due
|
||||||
|
schedule: "2022-03-01"
|
||||||
|
ts: Thu Mar 24 09:17:07 MDT 2022
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ func (todo Todo) Triggered() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (todo Todo) MarshalYAML() (interface{}, error) {
|
func (todo Todo) MarshalYAML() (interface{}, error) {
|
||||||
if !todo.writeTS {
|
if false && !todo.writeTS {
|
||||||
todo.TS = 0
|
todo.TS = 0
|
||||||
} else {
|
} else {
|
||||||
todo.TS = TS(todo.TS.time().Unix())
|
todo.TS = TS(todo.TS.time().Unix())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue