Allow in question -s for just sourcing file and -S to source file with ``` encapsulation.

This commit is contained in:
Oleksandr Kozachuk
2023-09-09 15:16:17 +02:00
parent 5fb5dde550
commit 7cf62c54ef
3 changed files with 32 additions and 17 deletions
+12 -10
View File
@@ -15,19 +15,21 @@ def create_message(chat: ChatDB, args: argparse.Namespace) -> Message:
question_parts = []
question_list = args.question if args.question 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 []
# FIXME: don't surround all sourced files with ```
# -> do it only if '--source-code-only' is True and no source code
# could be extracted from that file
for question, source in zip_longest(question_list, source_list, fillvalue=None):
if question is not None and source is not None:
with open(source) as r:
question_parts.append(f"{question}\n\n```\n{r.read().strip()}\n```")
elif question is not None:
for question, source, code in zip_longest(question_list, source_list, code_list, fillvalue=None):
if question is not None and len(question.strip()) > 0:
question_parts.append(question)
elif source is not None:
if source is not None and len(source) > 0:
with open(source) as r:
question_parts.append(f"```\n{r.read().strip()}\n```")
content = r.read().strip()
if len(content) > 0:
question_parts.append(content)
if code is not None and len(code) > 0:
with open(code) as r:
content = r.read().strip()
if len(content) > 0:
question_parts.append(f"```\n{content}\n```")
full_question = '\n\n'.join(question_parts)