diff --git a/chatmastermind/chat.py b/chatmastermind/chat.py index 11f1d74..b282dc5 100644 --- a/chatmastermind/chat.py +++ b/chatmastermind/chat.py @@ -146,7 +146,7 @@ class Chat: return sum(m.tokens() for m in self.messages) def print(self, dump: bool = False, source_code_only: bool = False, - with_tags: bool = False, with_file: bool = False, + with_tags: bool = False, with_files: bool = False, paged: bool = True) -> None: if dump: pp(self) @@ -157,15 +157,15 @@ class Chat: output.extend(source_code(message.question, include_delims=True)) continue output.append('-' * terminal_width()) + if with_tags: + output.append(message.tags_str()) + if with_files: + output.append('FILE: ' + str(message.file_path)) output.append(Question.txt_header) output.append(message.question) if message.answer: output.append(Answer.txt_header) output.append(message.answer) - if with_tags: - output.append(message.tags_str()) - if with_file: - output.append('FILE: ' + str(message.file_path)) if paged: print_paged('\n'.join(output)) else: diff --git a/tests/test_chat.py b/tests/test_chat.py index 5f1fcb6..8e1ad0d 100644 --- a/tests/test_chat.py +++ b/tests/test_chat.py @@ -82,21 +82,21 @@ Answer 2 @patch('sys.stdout', new_callable=StringIO) def test_print_with_tags_and_file(self, mock_stdout: StringIO) -> None: self.chat.add_msgs([self.message1, self.message2]) - self.chat.print(paged=False, with_tags=True, with_file=True) + self.chat.print(paged=False, with_tags=True, with_files=True) expected_output = f"""{'-'*terminal_width()} +{TagLine.prefix} atag1 btag2 +FILE: 0001.txt {Question.txt_header} Question 1 {Answer.txt_header} Answer 1 -{TagLine.prefix} atag1 btag2 -FILE: 0001.txt {'-'*terminal_width()} +{TagLine.prefix} btag2 +FILE: 0002.txt {Question.txt_header} Question 2 {Answer.txt_header} Answer 2 -{TagLine.prefix} btag2 -FILE: 0002.txt """ self.assertEqual(mock_stdout.getvalue(), expected_output)