Fix the errors with parsing

This commit is contained in:
Anton Osika
2023-06-18 22:34:25 +02:00
parent 89d9b6e356
commit 8180f0346c
7 changed files with 26 additions and 33 deletions

View File

@@ -2,21 +2,9 @@ import re
def parse_chat(chat): # -> List[Tuple[str, str]]:
# Split the chat into sections by the "*CODEBLOCKSBELOW*" token
split_chat = chat.split("*CODEBLOCKSBELOW*")
# Check if the "*CODEBLOCKSBELOW*" token was found
is_token_found = len(split_chat) > 1
# If the "*CODEBLOCKSBELOW*" token is found, use the first part as README
# and second part as code blocks. Otherwise, treat README as optional and
# proceed with empty README and the entire chat as code blocks
readme = split_chat[0].strip() if is_token_found else "No readme"
code_blocks = split_chat[1] if is_token_found else chat
# Get all ``` blocks and preceding filenames
regex = r"(\S+?)\n```\S+\n(.+?)```"
matches = re.finditer(regex, code_blocks, re.DOTALL)
matches = re.finditer(regex, chat, re.DOTALL)
files = []
for match in matches:
@@ -29,8 +17,9 @@ def parse_chat(chat): # -> List[Tuple[str, str]]:
# Add the file to the list
files.append((path, code))
# Add README to the list
files.append(("README.txt", readme))
# Get all the text before the first ``` block
readme = chat.split("```")[0]
files.append(("README.md", readme))
# Return the files
return files