abidlabs's picture
abidlabs HF Staff
Duplicate from hysts-debug/gradio-issue-1641
783e164
#!/usr/bin/env python
import pathlib
import gradio as gr
def set_example_image(example):
return [
gr.Image.update(value=example[0]),
gr.Image.update(value=example[1])
]
def set_example_video(example):
return [
gr.Video.update(value=example[0]),
gr.Video.update(value=example[1])
]
css = '''
div#image1 {
max-width: 300px;
max-height: 300px;
}
div#image2 {
max-width: 300px;
max-height: 300px;
}
div#video1 {
max-width: 300px;
max-height: 300px;
}
div#video2 {
max-width: 300px;
max-height: 300px;
}
'''
with gr.Blocks(css=css) as demo:
with gr.Row():
image1 = gr.Image(label='without gr.Group',
type='numpy',
elem_id='image1')
with gr.Group():
image2 = gr.Image(label='with gr.Group',
type='numpy',
elem_id='image2')
paths = sorted(pathlib.Path('images').rglob('*.jpg'))
example_images = gr.Dataset(components=[image1, image2],
samples=[[path.as_posix(),
path.as_posix()] for path in paths])
with gr.Row():
video1 = gr.Video(label='without gr.Group',
format='mp4',
elem_id='video1')
with gr.Group():
video2 = gr.Video(label='with gr.Group',
format='mp4',
elem_id='video2')
paths = sorted(pathlib.Path('videos').rglob('*.mp4'))
example_videos = gr.Dataset(components=[video1, video2],
samples=[[path.as_posix(),
path.as_posix()] for path in paths])
example_images.click(fn=set_example_image,
inputs=example_images,
outputs=example_images.components)
example_videos.click(fn=set_example_video,
inputs=example_videos,
outputs=example_videos.components)
demo.launch()