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  }