mobenta commited on
Commit
6e08d8f
·
verified ·
1 Parent(s): 37f1681

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -7
app.py CHANGED
@@ -6,7 +6,6 @@ subprocess.check_call([sys.executable, "-m", "pip", "install", "httpx==0.18.2",
6
 
7
  import gradio as gr
8
  import requests
9
- from bs4 import BeautifulSoup
10
  import re
11
  import yt_dlp
12
  import logging
@@ -36,12 +35,14 @@ def youtube_search(query, max_results=50):
36
  logging.debug(f"Number of entries found: {len(result['entries'])}")
37
  for entry in result['entries']:
38
  video_id = entry.get('id')
39
- thumbnail_url = entry.get('thumbnail')
40
- if video_id and thumbnail_url:
41
- gallery_items.append((thumbnail_url, video_id))
42
- logging.debug(f"Added video: ID={video_id}, Thumbnail={thumbnail_url}")
 
 
43
  else:
44
- logging.debug(f"Missing video ID or thumbnail for entry: {entry}")
45
  else:
46
  logging.warning("No entries found in search result.")
47
  return gallery_items, ""
@@ -106,7 +107,9 @@ with gr.Blocks() as demo:
106
  gallery_items, error_message = youtube_search(query)
107
  if error_message:
108
  return [], error_message, gr.update(visible=True)
109
- return gallery_items, "", gr.update(visible=False)
 
 
110
 
111
  # Update the selected video link field when a video is clicked in the gallery
112
  def on_video_select(evt: gr.SelectData):
 
6
 
7
  import gradio as gr
8
  import requests
 
9
  import re
10
  import yt_dlp
11
  import logging
 
35
  logging.debug(f"Number of entries found: {len(result['entries'])}")
36
  for entry in result['entries']:
37
  video_id = entry.get('id')
38
+ thumbnail_url = entry.get('thumbnail') if entry.get('thumbnail') else "https://via.placeholder.com/150"
39
+ video_title = entry.get('title', "Unknown Title")
40
+
41
+ if video_id:
42
+ gallery_items.append((thumbnail_url, video_id, video_title))
43
+ logging.debug(f"Added video: ID={video_id}, Thumbnail={thumbnail_url}, Title={video_title}")
44
  else:
45
+ logging.debug(f"Missing video ID for entry: {entry}")
46
  else:
47
  logging.warning("No entries found in search result.")
48
  return gallery_items, ""
 
107
  gallery_items, error_message = youtube_search(query)
108
  if error_message:
109
  return [], error_message, gr.update(visible=True)
110
+ # Display videos even if the title or thumbnail is missing by using placeholders
111
+ gallery_items_display = [(item[0], item[1]) for item in gallery_items] # Show thumbnail and video ID only
112
+ return gallery_items_display, "", gr.update(visible=False)
113
 
114
  # Update the selected video link field when a video is clicked in the gallery
115
  def on_video_select(evt: gr.SelectData):