Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -150,18 +150,18 @@ with gr.Blocks(title="Extracci贸n de Fotogramas Forenses") as demo:
|
|
150 |
def on_video_change(video):
|
151 |
# Verificar que se haya cargado algo y que contenga informaci贸n
|
152 |
if not video:
|
153 |
-
return gr.
|
154 |
if isinstance(video, dict) and video.get("name"):
|
155 |
original_name = video["name"]
|
156 |
elif isinstance(video, str) and video:
|
157 |
original_name = os.path.basename(video)
|
158 |
else:
|
159 |
-
return gr.
|
160 |
allowed_extensions = ('.mp4', '.avi', '.mov', '.mkv')
|
161 |
if not original_name.lower().endswith(allowed_extensions):
|
162 |
raise gr.Error("Solo se permiten archivos de video (mp4, avi, mov, mkv)")
|
163 |
# Al tener un video v谩lido, activa "Procesar Fotogramas" y desactiva "DESCARGAR FOTOGRAMAS"
|
164 |
-
return gr.
|
165 |
|
166 |
video_input.change(
|
167 |
fn=on_video_change,
|
@@ -173,12 +173,11 @@ with gr.Blocks(title="Extracci贸n de Fotogramas Forenses") as demo:
|
|
173 |
# Al pulsar "Procesar Fotogramas": se procesa el video, se genera el collage y el ZIP, se desactiva el bot贸n de procesar
|
174 |
# y se activa el bot贸n de descarga.
|
175 |
def procesar_y_mostrar(video):
|
176 |
-
|
177 |
-
btn_proc_update = gr.Button.update(interactive=False)
|
178 |
if temp_dir_state.value:
|
179 |
limpiar_cache(temp_dir_state.value)
|
180 |
collage_path, zip_path, temp_dir = procesar_video(video)
|
181 |
-
btn_download_update = gr.
|
182 |
return collage_path, zip_path, temp_dir, zip_path, btn_download_update, btn_proc_update
|
183 |
|
184 |
procesar_btn.click(
|
|
|
150 |
def on_video_change(video):
|
151 |
# Verificar que se haya cargado algo y que contenga informaci贸n
|
152 |
if not video:
|
153 |
+
return gr.update(interactive=False), gr.update(interactive=False)
|
154 |
if isinstance(video, dict) and video.get("name"):
|
155 |
original_name = video["name"]
|
156 |
elif isinstance(video, str) and video:
|
157 |
original_name = os.path.basename(video)
|
158 |
else:
|
159 |
+
return gr.update(interactive=False), gr.update(interactive=False)
|
160 |
allowed_extensions = ('.mp4', '.avi', '.mov', '.mkv')
|
161 |
if not original_name.lower().endswith(allowed_extensions):
|
162 |
raise gr.Error("Solo se permiten archivos de video (mp4, avi, mov, mkv)")
|
163 |
# Al tener un video v谩lido, activa "Procesar Fotogramas" y desactiva "DESCARGAR FOTOGRAMAS"
|
164 |
+
return gr.update(interactive=True), gr.update(interactive=False)
|
165 |
|
166 |
video_input.change(
|
167 |
fn=on_video_change,
|
|
|
173 |
# Al pulsar "Procesar Fotogramas": se procesa el video, se genera el collage y el ZIP, se desactiva el bot贸n de procesar
|
174 |
# y se activa el bot贸n de descarga.
|
175 |
def procesar_y_mostrar(video):
|
176 |
+
btn_proc_update = gr.update(interactive=False)
|
|
|
177 |
if temp_dir_state.value:
|
178 |
limpiar_cache(temp_dir_state.value)
|
179 |
collage_path, zip_path, temp_dir = procesar_video(video)
|
180 |
+
btn_download_update = gr.update(interactive=True)
|
181 |
return collage_path, zip_path, temp_dir, zip_path, btn_download_update, btn_proc_update
|
182 |
|
183 |
procesar_btn.click(
|