Skip to content

Commit ddb2734

Browse files
adding better image flag validation (#96)
1 parent e6df844 commit ddb2734

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

cmd/pokemon.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,28 @@ func PokemonCommand() {
3535
fmt.Println(helpMessage)
3636
}
3737

38-
flag.Parse()
39-
4038
pokeFlags, abilitiesFlag, shortAbilitiesFlag, imageFlag, shortImageFlag, statsFlag, shortStatsFlag, typesFlag, shortTypesFlag := flags.SetupPokemonFlagSet()
4139

4240
args := os.Args
4341

42+
// Pre-parse validation for empty image flag values
43+
for _, arg := range args {
44+
if strings.HasPrefix(arg, "-i=") && len(arg) == 3 {
45+
fmt.Println(errorBorder.Render(errorColor.Render("Error!"), "\nThe image flag (-i or --image) requires a non-empty value.\nValid sizes are: lg, md, sm."))
46+
os.Exit(1)
47+
}
48+
if strings.HasPrefix(arg, "--image=") && len(arg) == 8 {
49+
fmt.Println(errorBorder.Render(errorColor.Render("Error!"), "\nThe image flag (-i or --image) requires a non-empty value.\nValid sizes are: lg, md, sm."))
50+
os.Exit(1)
51+
}
52+
if strings.HasPrefix(arg, "-image=") && len(arg) == 7 {
53+
fmt.Println(errorBorder.Render(errorColor.Render("Error!"), "\nThe image flag (-i or --image) requires a non-empty value.\nValid sizes are: lg, md, sm."))
54+
os.Exit(1)
55+
}
56+
}
57+
58+
flag.Parse()
59+
4460
err := ValidatePokemonArgs(args)
4561
if err != nil {
4662
fmt.Println(err.Error())

0 commit comments

Comments
 (0)