Accessing /data folder of persistent storage

radames
Wed, 19 Jul 2023 14:40:32 +0000

hi @indiaj27 ,

Currently, there is no storage/file management via UI. We will be adding this feature in the near future.
If you’re using Gradio you could try to leverage the gr.Files to list and serve the files under a specific folder. Here is an example

import gradio as gr
from pathlib import Path

DATA_PATH = Path("./")  #  Path("/data")
def get_storage():
    files = [
        {
            "orig_name": file.name,
            "name": file.resolve(),
            "size": file.stat().st_size,
            "data": None,
            "is_file": True,
        }
        for file in DATA_PATH.glob("**/*")
        if file.is_file()
    ]
    usage = sum([f['size'] for f in files])
    return files, f"{usage/(1024.0 ** 3):.3f}GB"

with gr.Blocks() as app:
    with gr.Row():
        with gr.Column():
            btn = gr.Button("Run")
        with gr.Column():
            files = gr.Files(label="Files")
            storage = gr.Text(label="Total Usage")
    btn.click(get_storage, inputs=None, outputs=[files, storage], postprocess=False)

# Files that you explicitly allow on allowed_paths
app.launch(allowed_paths=[str(DATA_PATH)])