From a845f27183bee6e50661c996ef19296c982aaa46 Mon Sep 17 00:00:00 2001 From: juk0de Date: Tue, 7 Nov 2023 17:34:28 +0100 Subject: [PATCH] added new command 'translation' --- chatmastermind/commands/translation.py | 9 +++++++++ chatmastermind/main.py | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 chatmastermind/commands/translation.py diff --git a/chatmastermind/commands/translation.py b/chatmastermind/commands/translation.py new file mode 100644 index 0000000..26f2ffe --- /dev/null +++ b/chatmastermind/commands/translation.py @@ -0,0 +1,9 @@ +import argparse +from ..configuration import Config + + +def translation_cmd(args: argparse.Namespace, config: Config) -> None: + """ + Handler for the 'translation' command. + """ + pass diff --git a/chatmastermind/main.py b/chatmastermind/main.py index 3fba60f..facd38b 100755 --- a/chatmastermind/main.py +++ b/chatmastermind/main.py @@ -14,6 +14,7 @@ from .commands.tags import tags_cmd from .commands.config import config_cmd from .commands.hist import hist_cmd from .commands.print import print_cmd +from .commands.translation import translation_cmd from .chat import msg_location @@ -102,7 +103,7 @@ def create_parser() -> argparse.ArgumentParser: # 'tags' command parser tags_cmd_parser = cmdparser.add_parser('tags', help="Manage tags.", - aliases=['t']) + aliases=['T']) tags_cmd_parser.set_defaults(func=tags_cmd) tags_group = tags_cmd_parser.add_mutually_exclusive_group(required=True) tags_group.add_argument('-l', '--list', help="List all tags and their frequency", @@ -136,6 +137,19 @@ def create_parser() -> argparse.ArgumentParser: print_cmd_modes.add_argument('-a', '--answer', help='Only print the answer', action='store_true') print_cmd_modes.add_argument('-S', '--only-source-code', help='Only print embedded source code', action='store_true') + # 'translation' command parser + translation_cmd_parser = cmdparser.add_parser('translation', parents=[ai_parser], + help="ask, create and repeat translations.", + aliases=['t']) + translation_cmd_parser.set_defaults(func=translation_cmd) + translation_group = translation_cmd_parser.add_mutually_exclusive_group(required=True) + translation_group.add_argument('-a', '--ask', nargs='+', help='Ask to translate the given text', metavar='TEXT') + translation_group.add_argument('-c', '--create', nargs='+', help='Create a translation', metavar='TEXT') + translation_group.add_argument('-r', '--repeat', nargs='*', help='Repeat a translation', metavar='MESSAGE') + translation_cmd_parser.add_argument('-s', '--source-lang', help="Source language", metavar="LANGUAGE", required=True) + translation_cmd_parser.add_argument('-t', '--target-lang', help="Target language", metavar="LANGUAGE", required=True) + translation_cmd_parser.add_argument('-g', '--glossaries', nargs='+', help="List of glossaries", metavar="GLOSSARY") + argcomplete.autocomplete(parser) return parser