return failed

master
Bel LaPointe 2023-04-07 10:35:24 -06:00
parent 90d517d1bf
commit a90aa68057
1 changed files with 17 additions and 9 deletions

26
main.go
View File

@ -8,8 +8,6 @@ import (
"os" "os"
"strings" "strings"
"time" "time"
"gopkg.in/yaml.v2"
) )
type ( type (
@ -54,6 +52,17 @@ func Main() error {
} }
defer db.Close() defer db.Close()
user := IDU(os.Getenv("USER")) user := IDU(os.Getenv("USER"))
failed, err := Review(db, user)
if err != nil {
return err
}
log.Printf("failed %v", failed)
return nil
}
func Review(db DB, user IDU) ([]IDQ, error) {
failed := []IDQ{}
for q, _ := range db.HistoryOf(user) { for q, _ := range db.HistoryOf(user) {
if time.Until(db.Next(user, q)) > 0 { if time.Until(db.Next(user, q)) > 0 {
continue continue
@ -85,23 +94,22 @@ func Main() error {
fmt.Printf("> Last time, you responded:\n\t%s\n", lastAnswer.A) fmt.Printf("> Last time, you responded:\n\t%s\n", lastAnswer.A)
} }
fmt.Printf("> Did you pass this time? [Yns]\n") fmt.Printf("> Did you pass this time? [Yns]\n")
switch readline() { passed := readline()
switch passed {
case "s": case "s":
case "n": case "n":
failed = append(failed, q)
if err := db.PushAnswer(user, q, Renderable(response), false); err != nil { if err := db.PushAnswer(user, q, Renderable(response), false); err != nil {
return err return nil, err
} }
default: default:
if err := db.PushAnswer(user, q, Renderable(response), true); err != nil { if err := db.PushAnswer(user, q, Renderable(response), true); err != nil {
return err return nil, err
} }
} }
fmt.Println() fmt.Println()
} }
if b, _ := yaml.Marshal(db); len(b) > 0 { return failed, nil
log.Printf("%s\n", b)
}
return nil
} }
func readline() string { func readline() string {