Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -225,8 +225,10 @@ async def process_video(video_data, temp_dir, progress=gr.Progress()):
|
|
| 225 |
torch.cuda.empty_cache()
|
| 226 |
|
| 227 |
async def gradio_interface(video_file=None, stream_url=None):
|
|
|
|
| 228 |
if not video_file and not stream_url:
|
| 229 |
-
|
|
|
|
| 230 |
|
| 231 |
temp_dir = tempfile.mkdtemp(prefix="Ultralytics_")
|
| 232 |
try:
|
|
@@ -256,6 +258,9 @@ async def gradio_interface(video_file=None, stream_url=None):
|
|
| 256 |
video_data = f.read()
|
| 257 |
async for result in process_video(video_data, temp_dir):
|
| 258 |
yield result
|
|
|
|
|
|
|
|
|
|
| 259 |
finally:
|
| 260 |
shutil.rmtree(temp_dir, ignore_errors=True)
|
| 261 |
|
|
|
|
| 225 |
torch.cuda.empty_cache()
|
| 226 |
|
| 227 |
async def gradio_interface(video_file=None, stream_url=None):
|
| 228 |
+
# Input validation: yield error message instead of returning
|
| 229 |
if not video_file and not stream_url:
|
| 230 |
+
yield "Please upload a video or provide a stream URL.", "", "", ""
|
| 231 |
+
return # Use bare return to exit the generator
|
| 232 |
|
| 233 |
temp_dir = tempfile.mkdtemp(prefix="Ultralytics_")
|
| 234 |
try:
|
|
|
|
| 258 |
video_data = f.read()
|
| 259 |
async for result in process_video(video_data, temp_dir):
|
| 260 |
yield result
|
| 261 |
+
except Exception as e:
|
| 262 |
+
logger.error(f"Error in gradio_interface: {str(e)}")
|
| 263 |
+
yield f"Error: {str(e)}", "", "", ""
|
| 264 |
finally:
|
| 265 |
shutil.rmtree(temp_dir, ignore_errors=True)
|
| 266 |
|