master
parent
2425f22b56
commit
e4834d8a11
|
|
@ -148,27 +148,46 @@ impl DB {
|
|||
let f = d.path().join(base);
|
||||
|
||||
let edited = TasksAndMetadata::new(f.display().to_string()).expect("failed to read edited tasks");
|
||||
let was_due = set.due();
|
||||
|
||||
let mut not_due = set.not_due();
|
||||
for task in &was_due.tasks.0 {
|
||||
if !edited.tasks.0.contains(task) {
|
||||
not_due.tasks.0.push(task.clone());
|
||||
let was_due = set.due();
|
||||
let mut now_due = vec![];
|
||||
let mut not_due = set.not_due().tasks.0;
|
||||
|
||||
for task in &edited.tasks.0 {
|
||||
if task.is_due() {
|
||||
eprintln!("now_due.push({:?})", task.clone());
|
||||
now_due.push(task.clone());
|
||||
} else if !not_due.contains(task) {
|
||||
eprintln!("not_due.push({:?})", task.clone());
|
||||
not_due.push(task.clone());
|
||||
}
|
||||
}
|
||||
|
||||
let mut now_due = vec![];
|
||||
for task in &edited.tasks.0 {
|
||||
if task.is_due() {
|
||||
now_due.push(task.clone());
|
||||
} else if !not_due.tasks.0.contains(task) {
|
||||
not_due.tasks.0.push(task.clone());
|
||||
let mut already_due = vec![];
|
||||
let mut already_not_due = vec![];
|
||||
for task in &was_due.tasks.0 {
|
||||
let mut without_ts = task.clone();
|
||||
without_ts.unset("ts".to_string());
|
||||
|
||||
let mut with_ts = task.clone();
|
||||
with_ts.set("ts".to_string(), TS::now().to_string());
|
||||
|
||||
if now_due.contains(&without_ts) {
|
||||
} else if not_due.contains(task) {
|
||||
} else if task.is_due() {
|
||||
eprintln!("already_due.push({:?})", with_ts.clone());
|
||||
already_due.push(with_ts.clone());
|
||||
} else {
|
||||
eprintln!("already_not_due.push({:?})", task.clone());
|
||||
already_not_due.push(task.clone());
|
||||
}
|
||||
}
|
||||
|
||||
let mut new_tasks = Tasks::new();
|
||||
new_tasks.0.extend(now_due);
|
||||
new_tasks.0.extend(not_due.tasks.0);
|
||||
new_tasks.0.extend(already_due);
|
||||
new_tasks.0.extend(not_due);
|
||||
new_tasks.0.extend(already_not_due);
|
||||
|
||||
result.push(TasksAndMetadata::new_with(
|
||||
set.file.clone(),
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
todo:
|
||||
- a
|
||||
- todo: b
|
||||
schedule: 2000-01-01
|
||||
scheduled:
|
||||
- c
|
||||
- todo: d
|
||||
schedule: 2000-02-01
|
||||
- todo: e
|
||||
ts: Sun Dec 3 23:29:27 EST 2023
|
||||
schedule: '0 0 1 1 *'
|
||||
schedule: 0 0 1 1 *
|
||||
- todo: e3
|
||||
schedule: '* * * * *'
|
||||
- todo: e2
|
||||
schedule: 0 0 1 1 *
|
||||
ts: 2024-08-04T19:32Z
|
||||
- todo: f
|
||||
schedule: 2099-02-02
|
||||
done:
|
||||
- g
|
||||
- todo: h
|
||||
ts: Sun Dec 3 23:29:27 EST 2023
|
||||
- _done: g
|
||||
- _done:
|
||||
todo: h
|
||||
ts: Sun Dec 3 23:29:27 EST 2023
|
||||
|
|
|
|||
Loading…
Reference in New Issue