import gradio as gr import tempfile from PIL import Image import uuid import os import shutil from pathlib import Path import random import string import glob # Set the environment variable os.environ['GRADIO_TEMP_DIR'] = '/data' gradio_temp_dir = os.environ['GRADIO_TEMP_DIR'] #print(f'GRADIO_TEMP_DIR is = {gradio_temp_dir}') #absolute_path1 = os.path.abspath(gradio_temp_dir) #print(f"The absolute path of gradio_temp_dir is = {absolute_path1}") # Get the path of the system's temporary directory temp_directory = tempfile.gettempdir() print(f"System's temporary directory is: {temp_directory}") def create_local(): length = 100 text_string = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(length)) #rand_num = random.randint(1, 10000) file_name = os.path.join('temp_dir', f'random_file_1.txt') with open(file_name, 'w') as f: for _ in range(10): f.write(text_string + '\n') def movefiles(): # Get the path of the system's temporary directory temp_directory = tempfile.gettempdir() # Specify the path of the file to be moved directory_name = 'temp_dir' absolute_path = os.path.abspath(directory_name) file_path = 'random_file_1.txt' old_path = os.path.join(absolute_path, os.path.basename(file_path)) # Construct the new path in the temporary directory with the same filename new_path = os.path.join(temp_directory, os.path.basename(file_path)) print(f'new_path - {new_path}') # Move the file shutil.move(old_path, new_path) print(f"Moved the file to: {new_path}") def create(): """ Create a blank image with the specified dimensions, color, and filename. """ color='blue' width=512 height=512 # Create a temporary file temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".png") print(f"Temporary file created at: {temp_file.name}") # Create a new image with the given mode and size image = Image.new("RGB", (width, height), color) # Save the image to disk image.save(temp_file, format='PNG') # List all entries in the directory temp_directory_file_list = os.listdir(temp_directory) print(f'temp_directory_file_list is = {temp_directory_file_list}') return temp_file.name, temp_directory_file_list with gr.Blocks(delete_cache=(5,10),) as demo: with gr.Row(): inp = gr.Textbox(placeholder="Temporary files at location specified with GRADIO_TEMP_DIR ") out = gr.Image(type='filepath') gr.FileExplorer(root="/data", label="Persistent storage") with gr.Row(equal_height=False): with gr.Column(): btn = gr.Button("Generate temp files!") btn1 = gr.Button("Generate local files!") gr.FileExplorer(label="local storage") btn2 = gr.Button("Move files to temp dir!") btn.click(create,inputs=[],outputs=[out, inp]) btn1.click(create_local,inputs=[],outputs=[]) btn2.click(movefiles,inputs=[],outputs=[]) demo.launch(debug=False)