Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| from bs4 import BeautifulSoup | |
| DEF_SNIPPET = "print('Hello, World!')" | |
| DEF_LANG = "Python" | |
| def execute_snippet(code_snippet: str = DEF_SNIPPET, lang: str = DEF_LANG) -> str: | |
| lang_param = None | |
| match lang: | |
| case "C++": lang_param = "cpp" | |
| case "C#": lang_param = "cs" | |
| case _: lang_param = lang.lower() | |
| # FIXME: ERROR HANDLING | |
| res = requests.request("POST", f"https://try.w3schools.com/try_{lang_param}.php", data={ | |
| "code": code_snippet | |
| }) | |
| match lang_param: | |
| case "php": return res.text | |
| case _: return BeautifulSoup(res.text, "html.parser").find_all("pre")[0].string | |
| demo = gr.Interface( | |
| fn=execute_snippet, | |
| inputs=[ | |
| gr.Textbox( | |
| show_label=True, | |
| label="Code", | |
| max_lines=4_294_967_295, | |
| lines=4_294_967_295, | |
| value=DEF_SNIPPET, | |
| ), | |
| gr.Dropdown( | |
| show_label=True, | |
| label="Language", | |
| choices=["Python", "Java", "C", "C++", "C#", "PHP"], | |
| value=DEF_LANG | |
| ), | |
| ], | |
| outputs=gr.Textbox(label="Result"), | |
| title="HFChat Code Executor", | |
| description="Enter the code snippet and language that you want to execute.", | |
| ) | |
| demo.launch() |