cli complete

This commit is contained in:
Bel LaPointe
2019-03-03 12:10:16 -07:00
parent 78d17a2760
commit fdcfe93dba
4 changed files with 57 additions and 13 deletions

View File

@@ -45,13 +45,13 @@ func (buffer *Buffer) Close() {
close(buffer.done)
}
func (buffer *Buffer) Enqueue(op remote.Op, listID, taskTitle string, taskTags ...string) error {
func (buffer *Buffer) Enqueue(op remote.Op, list remote.List, task remote.Task, taskTags ...string) error {
buffer.dbLock.Lock()
defer buffer.dbLock.Unlock()
qop := &QueuedOp{
Op: op,
List: remote.List{ID: listID},
Task: remote.Task{Title: taskTitle},
List: list,
Task: task,
TaskTags: taskTags,
}
uuid, _ := uuid.NewRandom()
@@ -108,10 +108,13 @@ func (buffer *Buffer) Dequeue() {
switch qop.Op {
case remote.NEW:
err = client.NewTask(qop.List, qop.Task, strings.Join(qop.TaskTags, ","))
log.Printf("dequeue NEW(%v, %v, %v): %v", qop.List, qop.Task, qop.TaskTags, err)
case remote.CLOSE:
err = client.CloseTask(qop.Task)
log.Printf("dequeue CLOSE(%v): %v", qop.Task, err)
case remote.OPEN:
err = client.OpenTask(qop.Task)
log.Printf("dequeue OPEN(%v): %v", qop.Task, err)
default:
err = fmt.Errorf("cannot dequeue op %v", qop.Op)
}

View File

@@ -20,7 +20,7 @@ func TestBufferEnqueue(t *testing.T) {
defer b.Close()
defer s.Close()
if err := b.Enqueue(remote.NEW, "list", "task", "one", "tag", "two"); err != nil {
if err := b.Enqueue(remote.NEW, remote.List{ID: "list"}, remote.Task{Title: "task"}, "one", "tag", "two"); err != nil {
t.Errorf("cannot enqueue: %v", err)
}
@@ -35,7 +35,7 @@ func TestBufferDequeue(t *testing.T) {
defer b.Close()
defer s.Close()
if err := b.Enqueue(remote.NEW, "list", "task", "one", "tag", "two"); err != nil {
if err := b.Enqueue(remote.NEW, remote.List{ID: "list"}, remote.Task{Title: "task"}, "one", "tag", "two"); err != nil {
t.Fatalf("cannot enqueue to dequeue: %v", err)
}

View File

@@ -26,6 +26,10 @@ func (op Op) String() string {
return ""
}
func OpFromString(s string) Op {
return fromString(s)
}
func fromString(s string) Op {
for i := 0; i < 20; i++ {
if Op(i).String() == s {