From 39b518a8a60f335fb952995ee151440f899c7f85 Mon Sep 17 00:00:00 2001 From: Oleksandr Kozachuk Date: Sat, 9 Sep 2023 16:05:27 +0200 Subject: [PATCH] Small fixes. --- chatmastermind/ai_factory.py | 8 ++++---- chatmastermind/commands/question.py | 6 +++--- tests/test_ai_factory.py | 10 +++++----- tests/test_question_cmd.py | 14 +++++++------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/chatmastermind/ai_factory.py b/chatmastermind/ai_factory.py index c4a063a..bc4583c 100644 --- a/chatmastermind/ai_factory.py +++ b/chatmastermind/ai_factory.py @@ -14,11 +14,11 @@ def create_ai(args: argparse.Namespace, config: Config) -> AI: Creates an AI subclass instance from the given arguments and configuration file. """ - if args.ai: + if args.AI: try: - ai_conf = config.ais[args.ai] + ai_conf = config.ais[args.AI] except KeyError: - raise AIError(f"AI ID '{args.ai}' does not exist in this configuration") + raise AIError(f"AI ID '{args.AI}' does not exist in this configuration") elif default_ai_ID in config.ais: ai_conf = config.ais[default_ai_ID] else: @@ -34,4 +34,4 @@ def create_ai(args: argparse.Namespace, config: Config) -> AI: ai.config.temperature = args.temperature return ai else: - raise AIError(f"AI '{args.ai}' is not supported") + raise AIError(f"AI '{args.AI}' is not supported") diff --git a/chatmastermind/commands/question.py b/chatmastermind/commands/question.py index 818b1de..90b782b 100644 --- a/chatmastermind/commands/question.py +++ b/chatmastermind/commands/question.py @@ -13,7 +13,7 @@ def create_message(chat: ChatDB, args: argparse.Namespace) -> Message: Creates (and writes) a new message from the given arguments. """ question_parts = [] - question_list = args.question if args.question is not None else [] + question_list = args.ask if args.ask is not None else [] source_list = args.source if args.source is not None else [] code_list = args.source_code if args.source_code is not None else [] @@ -35,7 +35,7 @@ def create_message(chat: ChatDB, args: argparse.Namespace) -> Message: message = Message(question=Question(full_question), tags=args.output_tags, # FIXME - ai=args.ai, + ai=args.AI, model=args.model) chat.add_to_cache([message]) return message @@ -59,7 +59,7 @@ def question_cmd(args: argparse.Namespace, config: Config) -> None: response: AIResponse = ai.request(message, chat, args.num_answers, # FIXME - args.otags) # FIXME + args.output_tags) # FIXME assert response # TODO: # * add answer to the message above (and create diff --git a/tests/test_ai_factory.py b/tests/test_ai_factory.py index d63970e..d00b319 100644 --- a/tests/test_ai_factory.py +++ b/tests/test_ai_factory.py @@ -10,7 +10,7 @@ from chatmastermind.ais.openai import OpenAI class TestCreateAI(unittest.TestCase): def setUp(self) -> None: self.args = MagicMock(spec=argparse.Namespace) - self.args.ai = 'default' + self.args.AI = 'default' self.args.model = None self.args.max_tokens = None self.args.temperature = None @@ -18,19 +18,19 @@ class TestCreateAI(unittest.TestCase): def test_create_ai_from_args(self) -> None: # Create an AI with the default configuration config = Config() - self.args.ai = 'default' + self.args.AI = 'default' ai = create_ai(self.args, config) self.assertIsInstance(ai, OpenAI) def test_create_ai_from_default(self) -> None: - self.args.ai = None + self.args.AI = None # Create an AI with the default configuration config = Config() ai = create_ai(self.args, config) self.assertIsInstance(ai, OpenAI) def test_create_empty_ai_error(self) -> None: - self.args.ai = None + self.args.AI = None # Create Config with empty AIs config = Config() config.ais = {} @@ -40,7 +40,7 @@ class TestCreateAI(unittest.TestCase): def test_create_unsupported_ai_error(self) -> None: # Mock argparse.Namespace with ai='invalid_ai' - self.args.ai = 'invalid_ai' + self.args.AI = 'invalid_ai' # Create default Config config = Config() # Call create_ai function and assert that it raises AIError diff --git a/tests/test_question_cmd.py b/tests/test_question_cmd.py index 06cc527..aa0dc25 100644 --- a/tests/test_question_cmd.py +++ b/tests/test_question_cmd.py @@ -24,7 +24,7 @@ class TestMessageCreate(unittest.TestCase): self.args = MagicMock(spec=argparse.Namespace) self.args.source = None self.args.source_code = None - self.args.ai = None + self.args.AI = None self.args.model = None self.args.output_tags = None # create some files for sourcing @@ -59,7 +59,7 @@ Language is called 'brainfart'.""" return list(Path(tmp_dir.name).glob('*.[ty]*')) def test_message_file_created(self) -> None: - self.args.question = ["What is this?"] + self.args.ask = ["What is this?"] cache_dir_files = self.message_list(self.cache_path) self.assertEqual(len(cache_dir_files), 0) create_message(self.chat, self.args) @@ -70,14 +70,14 @@ Language is called 'brainfart'.""" self.assertEqual(message.question, Question("What is this?")) # type: ignore [union-attr] def test_single_question(self) -> None: - self.args.question = ["What is this?"] + self.args.ask = ["What is this?"] message = create_message(self.chat, self.args) self.assertIsInstance(message, Message) self.assertEqual(message.question, Question("What is this?")) self.assertEqual(len(message.question.source_code()), 0) def test_multipart_question(self) -> None: - self.args.question = ["What is this", "'bard' thing?", "Is it good?"] + self.args.ask = ["What is this", "'bard' thing?", "Is it good?"] message = create_message(self.chat, self.args) self.assertIsInstance(message, Message) self.assertEqual(message.question, Question("""What is this @@ -87,7 +87,7 @@ Language is called 'brainfart'.""" Is it good?""")) def test_single_question_with_text_only_source(self) -> None: - self.args.question = ["What is this?"] + self.args.ask = ["What is this?"] self.args.source = [f"{self.source_file1.name}"] message = create_message(self.chat, self.args) self.assertIsInstance(message, Message) @@ -99,7 +99,7 @@ Is it good?""")) {self.source_file1_content}""")) def test_single_question_with_embedded_source_source(self) -> None: - self.args.question = ["What is this?"] + self.args.ask = ["What is this?"] self.args.source = [f"{self.source_file2.name}"] message = create_message(self.chat, self.args) self.assertIsInstance(message, Message) @@ -111,7 +111,7 @@ Is it good?""")) {self.source_file2_content}""")) def test_single_question_with_embedded_source_code_source(self) -> None: - self.args.question = ["What is this?"] + self.args.ask = ["What is this?"] self.args.source_code = [f"{self.source_file2.name}"] message = create_message(self.chat, self.args) self.assertIsInstance(message, Message)