display valid flag values on error
This commit is contained in:
parent
045d3dece7
commit
36fcbe4a76
|
@ -55,7 +55,9 @@ func (t *leagueFlag) Set(v string) error {
|
|||
|
||||
_, ok := leagueIDs[v]
|
||||
if !ok {
|
||||
err = errors.New("invalid league ID")
|
||||
allowed := allowedFlags(leagueIDs)
|
||||
allowedList := strings.Join(allowed, ", ")
|
||||
err = errors.New("league must be one of " + allowedList)
|
||||
} else {
|
||||
*t = leagueFlag(v)
|
||||
}
|
||||
|
|
|
@ -93,7 +93,7 @@ func init() {
|
|||
|
||||
// Cobra supports local flags which will only run when this command
|
||||
// is called directly, e.g.:
|
||||
scheduleCmd.Flags().VarP(&team, "team", "t", "team to get schedule for (atl, az, bal, bos, chc, cin, cle, col, cws, det, hou, kc, laa, lad, mia, mil, min, nym, nyy, oak, phi, pit, sd, sea, sf, stl, tb, tex, tor, wsh)")
|
||||
scheduleCmd.Flags().VarP(&team, "team", "t", "team to get schedule for")
|
||||
scheduleCmd.Flags().StringVarP(&date, "date", "d", "", "date to get schedule for (YYYY-MM-DD)")
|
||||
scheduleCmd.Flags().StringVarP(&sport, "sport", "s", "mlb", "sport to get schedule for (default: MLB)")
|
||||
scheduleCmd.Flags().StringVarP(&sport, "sport", "s", "mlb", "sport to get schedule for")
|
||||
}
|
||||
|
|
|
@ -55,6 +55,18 @@ var teamIDs = map[string]statsapi.TeamID{
|
|||
"mil": statsapi.MIL,
|
||||
}
|
||||
|
||||
func allowedFlags[V any](m map[string]V) []string {
|
||||
keys := make([]string, len(m))
|
||||
|
||||
i := 0
|
||||
for k := range m {
|
||||
keys[i] = k
|
||||
i++
|
||||
}
|
||||
|
||||
return keys
|
||||
}
|
||||
|
||||
type teamFlag string
|
||||
|
||||
func (t *teamFlag) String() string {
|
||||
|
@ -72,7 +84,9 @@ func (t *teamFlag) Set(v string) error {
|
|||
|
||||
_, ok := teamIDs[v]
|
||||
if !ok {
|
||||
err = errors.New("invalid team ID")
|
||||
allowed := allowedFlags(teamIDs)
|
||||
allowedList := strings.Join(allowed, ", ")
|
||||
err = errors.New("team must be one of " + allowedList)
|
||||
} else {
|
||||
*t = teamFlag(v)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue