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" "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.Done = append(original.Done, original.Todo[i]) 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.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

View File

@ -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

View File

@ -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())