import gradio import html import re def display_text(text): return f"""

{text}

""" def display_image(path): return f"""""" def display_exe_results(text): escaped_text = html.escape(text) return f"""
✅Click to view execution results
{escaped_text}
""" def display_download_file(path, filename): return f"""
Download {filename}
""" def suggestion_html(suggestions: list) -> str: buttons_html = "" for suggestion in suggestions: buttons_html += f"""""" return f"
{buttons_html}
" def display_suggestions(prog_response, chat_history_display_last): ''' replace: Next, you can: [1] Do something... [2] Do something else... by:
''' suggest_list = re.findall(r'\[\d+\]\s*(.*)', prog_response) if suggest_list: button_html = suggestion_html(suggest_list) pattern = r'(Next, you can:)(.*?)(?=(?:
)?\Z)' chat_history_display_last = re.sub(pattern, r'\1\n' + button_html, chat_history_display_last, flags=re.DOTALL) return chat_history_display_last