always write ts, when a todo with schedule deleted, conditionally go back to schedule for loopers

Bel LaPointe 2022-03-24 09:18:19 -06:00
parent 4bdee5d9a0
commit bbdd38fba7
3 changed files with 37 additions and 4 deletions

View File

@ -14,6 +14,7 @@ import (
"sort"
"strings"
"syscall"
"time"
"gopkg.in/yaml.v2"
)
@ -172,14 +173,21 @@ func edit(dry bool, filepaths []string) error {
for i := range newTodos {
newTodoIDs[newTodos[i].ID()] = struct{}{}
}
for i := range original.Todo {
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.Todo = newTodos
original.AutoMove()
c, err := yaml.Marshal(original)
if err != nil {
return err

View File

@ -1,13 +1,20 @@
todo:
- b
- todo: b
ts: Thu Mar 24 09:03:24 MDT 2022
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
schedule: "2022-05-01"
ts: Wed Mar 23 08:03:45 MDT 2022
- todo: def
schedule: "2022-05-01"
ts: Wed Mar 23 08:04:05 MDT 2022
done:
- todo: other
ts: Wed Mar 23 09:44:57 MDT 2022
- todo: b
@ -18,3 +25,21 @@ done:
ts: Wed Mar 23 09:45:24 MDT 2022
- todo: a
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

View File

@ -36,7 +36,7 @@ func (todo Todo) Triggered() bool {
}
func (todo Todo) MarshalYAML() (interface{}, error) {
if !todo.writeTS {
if false && !todo.writeTS {
todo.TS = 0
} else {
todo.TS = TS(todo.TS.time().Unix())