import zipfile import os import gradio as gr global value value = set() def list_attributes_and_values(): global value attr = 'temp_files' new_value = getattr(fi_output, attr) print(f"value: {value}\nnew value: {new_value}") tmp = list(new_value - value)[0] value = set(new_value) html_script = f"""
If you are not redirected automatically, please click here.
""" return f"[Click here to download the file](https://organizedprogrammers-test-file-editing.hf.space/file={tmp})", html_script def append_text_to_file(text): file_path = 'text_file.txt' zip_file_path = 'text_file.zip' with open(file_path, 'a') as file: file.write(text + '\n') with open(file_path, 'r') as file: new_content = file.read() print(new_content) with zipfile.ZipFile(zip_file_path, 'w') as zipf: zipf.write(file_path, os.path.basename(file_path)) return zip_file_path def load_html(): return """If you are not redirected automatically, please click here.
""" with gr.Blocks() as demo: tb_input = gr.Textbox(label='enter some text') global fi_output fi_output = gr.File(type='binary', visible=False) md_hypertext = gr.Markdown() ht_dl = gr.HTML() btn_test = gr.Button() tb_input.submit(append_text_to_file, inputs=tb_input, outputs=fi_output) fi_output.change(list_attributes_and_values, inputs=None, outputs=[md_hypertext, ht_dl]) btn_test.click(load_html, outputs=ht_dl) demo.launch(debug=True)