Spaces:
Running
Running
import gradio as gr | |
import configparser | |
# FIXME | |
CONFIG_PATH = './Config_Files/config.txt' | |
def load_config(): | |
config = configparser.ConfigParser() | |
config.read(CONFIG_PATH) | |
return config | |
def save_config(config): | |
with open(CONFIG_PATH, 'w') as configfile: | |
config.write(configfile) | |
def get_config_as_text(): | |
with open(CONFIG_PATH, 'r') as file: | |
content = file.read() | |
return content, "Config refreshed successfully" | |
def save_config_from_text(text): | |
with open(CONFIG_PATH, 'w') as file: | |
file.write(text) | |
return "Config saved successfully" | |
def create_config_editor_tab(): | |
with gr.TabItem("Edit Config", visible=True): | |
gr.Markdown("# Edit Configuration File") | |
with gr.Row(): | |
with gr.Column(): | |
refresh_button = gr.Button("Refresh Config") | |
with gr.Column(): | |
config_text = gr.TextArea(label="Full Config", lines=30) | |
save_text_button = gr.Button("Save Config") | |
with gr.Row(): | |
output = gr.Textbox(label="Output") | |
# Event handlers | |
refresh_button.click(get_config_as_text, inputs=[], outputs=[config_text, output]) | |
config_text.change(lambda: None, None, None) # Dummy handler to enable changes | |
save_text_button.click(save_config_from_text, inputs=[config_text], outputs=[output]) | |
# Initialize the interface | |
config_text.value = get_config_as_text()[0] # Only set the config text, not the output message | |
return refresh_button, config_text, save_text_button, output | |