wuhp commited on
Commit
9c08d81
·
verified ·
1 Parent(s): 49ab24c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -4
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', 'm4v')):
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(label="Clean Video URLs", choices=[], interactive=True)
 
 
 
 
 
 
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(fn=search_and_populate, inputs=[kw_input, key_input, scan_toggle], outputs=url_dropdown)
 
 
 
 
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__":