File size: 1,492 Bytes
0bd62e5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
import gradio as gr
from pathlib import Path
current_file_path = Path(__file__).resolve()
relative_path = "path/to/file"
absolute_path = (current_file_path.parent / ".." / ".." / "gradio").resolve()
def get_file_content(file):
return (file,)
with gr.Blocks() as demo:
gr.Markdown('### `FileExplorer` to `FileExplorer` -- `file_count="multiple"`')
submit_btn = gr.Button("Select")
with gr.Row():
file = gr.FileExplorer(
glob="**/components/*.py",
# value=["themes/utils"],
root_dir=absolute_path,
ignore_glob="**/__init__.py",
)
file2 = gr.FileExplorer(
glob="**/components/**/*.py",
root_dir=absolute_path,
ignore_glob="**/__init__.py",
)
submit_btn.click(lambda x: x, file, file2)
gr.Markdown("---")
gr.Markdown('### `FileExplorer` to `Code` -- `file_count="single"`')
with gr.Group():
with gr.Row():
file_3 = gr.FileExplorer(
scale=1,
glob="**/components/**/*.py",
value=["themes/utils"],
file_count="single",
root_dir=absolute_path,
ignore_glob="**/__init__.py",
elem_id="file",
)
code = gr.Code(lines=30, scale=2, language="python")
file_3.change(get_file_content, file_3, code)
if __name__ == "__main__":
demo.launch()
|