Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -32,7 +32,7 @@ def fetch_clean_videos(keywords, api_key, scan_enabled):
|
|
32 |
item = get_item(res['identifier'])
|
33 |
for f in item.files:
|
34 |
fmt = f.get('format','').lower()
|
35 |
-
if fmt.startswith(('mpeg','mp4','avi','mov','webm',
|
36 |
url = f"https://archive.org/download/{res['identifier']}/{f['name']}"
|
37 |
if scan_enabled and api_key:
|
38 |
try:
|
@@ -54,17 +54,27 @@ with gr.Blocks() as demo:
|
|
54 |
scan_toggle = gr.Checkbox(label="Enable VirusTotal scan", value=True)
|
55 |
run_btn = gr.Button("Search & Scan")
|
56 |
|
57 |
-
url_dropdown = gr.Dropdown(
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
video_player = gr.Video(label="Video Player")
|
59 |
|
60 |
def search_and_populate(keywords, api_key, scan_enabled):
|
61 |
urls = fetch_clean_videos(keywords, api_key, scan_enabled)
|
62 |
-
return urls if urls else
|
63 |
|
64 |
def update_player(selected_url):
|
65 |
return selected_url or None
|
66 |
|
67 |
-
run_btn.click(
|
|
|
|
|
|
|
|
|
68 |
url_dropdown.change(fn=update_player, inputs=url_dropdown, outputs=video_player)
|
69 |
|
70 |
if __name__ == "__main__":
|
|
|
32 |
item = get_item(res['identifier'])
|
33 |
for f in item.files:
|
34 |
fmt = f.get('format','').lower()
|
35 |
+
if fmt.startswith(('mpeg','mp4','avi','mov','webm','m4v')):
|
36 |
url = f"https://archive.org/download/{res['identifier']}/{f['name']}"
|
37 |
if scan_enabled and api_key:
|
38 |
try:
|
|
|
54 |
scan_toggle = gr.Checkbox(label="Enable VirusTotal scan", value=True)
|
55 |
run_btn = gr.Button("Search & Scan")
|
56 |
|
57 |
+
url_dropdown = gr.Dropdown(
|
58 |
+
label="Clean Video URLs",
|
59 |
+
choices=[],
|
60 |
+
interactive=True,
|
61 |
+
allow_custom_value=True,
|
62 |
+
value=None
|
63 |
+
)
|
64 |
video_player = gr.Video(label="Video Player")
|
65 |
|
66 |
def search_and_populate(keywords, api_key, scan_enabled):
|
67 |
urls = fetch_clean_videos(keywords, api_key, scan_enabled)
|
68 |
+
return {"choices": urls, "value": urls[0] if urls else None}
|
69 |
|
70 |
def update_player(selected_url):
|
71 |
return selected_url or None
|
72 |
|
73 |
+
run_btn.click(
|
74 |
+
fn=search_and_populate,
|
75 |
+
inputs=[kw_input, key_input, scan_toggle],
|
76 |
+
outputs=[url_dropdown]
|
77 |
+
)
|
78 |
url_dropdown.change(fn=update_player, inputs=url_dropdown, outputs=video_player)
|
79 |
|
80 |
if __name__ == "__main__":
|