Spaces:
Running
Running
File size: 909 Bytes
2319518 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import os
import re
import json5
def replace_upload_fname(text, upload_fname_list):
for full_input_fname in upload_fname_list:
if full_input_fname not in text and os.path.basename(
full_input_fname) in text:
text = text.replace(os.path.basename(full_input_fname),
full_input_fname)
return text
def extract_code(text):
# Match triple backtick blocks first
triple_match = re.search(r'```[^\n]*\n(.+?)```', text, re.DOTALL)
# Match single backtick blocks second
single_match = re.search(r'`([^`]*)`', text, re.DOTALL)
if triple_match:
text = triple_match.group(1)
elif single_match:
text = single_match.group(1)
else:
try:
text = json5.loads(text)['code']
except Exception:
pass
# If no code blocks found, return original text
return text
|