Spaces:
Runtime error
Runtime error
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) |