From 8e8de1af47bb115f155e632d9b374f099adc678e Mon Sep 17 00:00:00 2001 From: shaghayeghfar <146011477+shaghayeghfar@users.noreply.github.com> Date: Tue, 7 Apr 2026 18:41:56 +0100 Subject: [PATCH] implement cowsay --- implement-cowsay/cow.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 implement-cowsay/cow.py diff --git a/implement-cowsay/cow.py b/implement-cowsay/cow.py new file mode 100644 index 000000000..3d5502d01 --- /dev/null +++ b/implement-cowsay/cow.py @@ -0,0 +1,29 @@ +import cowsay +import argparse + +# get valid animals dynamically from the library +animals = [ + name for name in dir(cowsay) + if name.islower() and callable(getattr(cowsay, name)) +] + +parser = argparse.ArgumentParser(description="Make animals say things") + +parser.add_argument( + "message", + nargs="+", + help="The message to say." +) + +parser.add_argument( + "--animal", + choices=animals, + default="cow", + help="The animal to be saying things." +) + +args = parser.parse_args() + +message = " ".join(args.message) + +getattr(cowsay, args.animal)(message) \ No newline at end of file