Skip to content

Commit 02a58e1

Browse files
author
Fatma Degirmenci
committed
fix: handle multi word text and display animals in help
1 parent 475c940 commit 02a58e1

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

implement-cowsay/cow.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import argparse
22
import cowsay
33

4+
animals = list(cowsay.char_funcs.keys())
45

56
parser = argparse.ArgumentParser(description="implement Cowsay command")
6-
parser.add_argument("text", help="Text to be displayed")
7-
parser.add_argument("--animal", help="Animal to say the text", default="cow")
7+
parser.add_argument("text",nargs="+" ,help="Text to be displayed")
8+
parser.add_argument("--animal", help=f"Animal to say the text (choices: {', '.join(animals)})", default="cow",choices=animals)
89
args = parser.parse_args()
910

10-
animals = cowsay.char_names
11-
animal = args.animal.lower()
12-
if animal not in animals:
13-
print(f"Invalid animal. Supported animals are: {', '.join(animals)}")
14-
exit(1)
15-
cowsay.char_funcs[animal](args.text)
11+
text = " ".join(args.text)
12+
animal = args.animal
13+
14+
cowsay.char_funcs[animal](text)
1615

1716

0 commit comments

Comments
 (0)