Skip to content

Commit a5d866d

Browse files
committed
feat: implement cowsay CLI with message parsing and animal selection
1 parent 4350f48 commit a5d866d

2 files changed

Lines changed: 35 additions & 0 deletions

File tree

implement-cowsay/main.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/usr/bin/env python3
2+
3+
import cowsay
4+
import argparse
5+
6+
animals = cowsay.char_names
7+
8+
parser = argparse.ArgumentParser(
9+
prog='cowsay',
10+
description='Make animals say things',
11+
epilog='Choose an animal and write a message'
12+
)
13+
14+
parser.add_argument(
15+
"message",
16+
nargs="+",
17+
help="The message to say."
18+
)
19+
20+
parser.add_argument(
21+
"--animal",
22+
choices=animals,
23+
default="cow",
24+
help="The animal must say something"
25+
)
26+
27+
args = parser.parse_args()
28+
29+
msg = " ".join(args.message)
30+
animal = args.animal
31+
32+
if animal in animals:
33+
output = getattr(cowsay, animal)
34+
output(msg)

implement-cowsay/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
cowsay

0 commit comments

Comments
 (0)