Repeat what you tell me to. :param args: argparse namespace :param keyword_arg: Optional keyword arguments
(self, args, *, keyword_arg: str | None = None)
| 32 | |
| 33 | @cmd2.with_argparser(_say_parser_builder) |
| 34 | def do_say(self, args, *, keyword_arg: str | None = None) -> None: |
| 35 | """Repeat what you tell me to. |
| 36 | |
| 37 | :param args: argparse namespace |
| 38 | :param keyword_arg: Optional keyword arguments |
| 39 | """ |
| 40 | words = [] |
| 41 | for word in args.words: |
| 42 | modified_word = word |
| 43 | if word is None: |
| 44 | modified_word = "" |
| 45 | if args.piglatin: |
| 46 | modified_word = f"{word[1:]}{word[0]}ay" |
| 47 | if args.shout: |
| 48 | modified_word = word.upper() |
| 49 | words.append(modified_word) |
| 50 | repetitions = args.repeat or 1 |
| 51 | for _ in range(min(repetitions, self.maxrepeats)): |
| 52 | self.stdout.write(" ".join(words)) |
| 53 | self.stdout.write("\n") |
| 54 | |
| 55 | if keyword_arg is not None: |
| 56 | print(keyword_arg) |
| 57 | |
| 58 | tag_parser = cmd2.Cmd2ArgumentParser(description="create a html tag") |
| 59 | tag_parser.add_argument("tag", help="tag") |
no test coverage detected