// add creates an entry and posts it to the server func add() { e := entry.Entry{Msg: *msg} e.SetDuration(*dur) jsonRequest("POST", "/entries", &e) fmt.Println("Activity Added:", e.Msg, "|", e.TimeString()) }
/* Find the active entry. Ask user to enter a message if none has been set yet. Set the end time to now, and save. */ func stop(fromCommand bool) { //if active entry, ask to end var e entry.Entry jsonRequest("GET", "/entries/latest", &e) // check for active entry if e.Started() && e.Ended() { fmt.Println("No active entry") return } if fromCommand && *msg != "" { e.Msg = *msg } if e.Msg == "" { fmt.Print("Enter a message for this entry: ") in := bufio.NewReader(os.Stdin) input, _, err := in.ReadLine() doPanic(err) e.Msg = string(input) } e.End = time.Now() path := fmt.Sprintf("/entries/%d", e.Id) jsonRequest("PUT", path, &e) fmt.Println("Activity Finished:", e.Msg, "|", e.TimeString()) }