[WIP] Layout

This commit is contained in:
Martin Pander
2024-05-22 16:20:57 +02:00
parent a23b76c3c9
commit 14dbfc406d
15 changed files with 378 additions and 160 deletions

View File

@ -1,6 +1,7 @@
package taskwarrior
import (
"bytes"
"encoding/json"
"fmt"
"log/slog"
@ -87,7 +88,7 @@ type TaskWarrior interface {
GetTasks(report *Report, filter ...string) Tasks
AddTask(task *Task) error
ModifyTask(task *Task)
ImportTask(task *Task)
}
type TaskSquire struct {
@ -325,20 +326,20 @@ func (ts *TaskSquire) AddTask(task *Task) error {
}
// TODO error handling
func (ts *TaskSquire) ModifyTask(task *Task) {
func (ts *TaskSquire) ImportTask(task *Task) {
ts.mutex.Lock()
defer ts.mutex.Unlock()
jsonStr, err := json.Marshal(Tasks{task})
tasks, err := json.Marshal(Tasks{task})
if err != nil {
slog.Error("Failed marshalling task:", err)
}
cmd := exec.Command(twBinary, append([]string{"echo", string(jsonStr), "|"}, append(ts.defaultArgs, []string{"import", "-"}...)...)...)
cmd := exec.Command(twBinary, append(ts.defaultArgs, []string{"import", "-"}...)...)
cmd.Stdin = bytes.NewBuffer(tasks)
out, err := cmd.CombinedOutput()
strOut := string(out)
if err != nil {
slog.Error("Failed modifying task:", err, strOut)
slog.Error("Failed modifying task:", err, string(out))
}
}