github.com/grantbow/bug@v0.3.1/bugapp/Priority.go (about) 1 package bugapp 2 3 import ( 4 "fmt" 5 "github.com/driusan/bug/bugs" 6 "os" 7 "strings" 8 ) 9 10 func fieldHandler(command string, args ArgumentList, 11 setCallback func(bugs.Bug, string) error, retrieveCallback func(bugs.Bug) string) { 12 if len(args) < 1 { 13 fmt.Printf("Usage: %s %s BugID [set %s]\n", os.Args[0], command, command) 14 return 15 } 16 17 b, err := bugs.LoadBugByHeuristic(args[0]) 18 if err != nil { 19 fmt.Printf("Invalid BugID: %s\n", err.Error()) 20 return 21 } 22 if len(args) > 1 { 23 newValue := strings.Join(args[1:], " ") 24 err := setCallback(*b, newValue) 25 if err != nil { 26 fmt.Printf("Error setting %s: %s", command, err.Error()) 27 } 28 } else { 29 val := retrieveCallback(*b) 30 if val == "" { 31 fmt.Printf("%s not defined\n", command) 32 } else { 33 fmt.Printf("%s\n", val) 34 } 35 } 36 } 37 func Priority(args ArgumentList) { 38 fieldHandler("priority", args, bugs.Bug.SetPriority, bugs.Bug.Priority) 39 }