add to queue error handling

This commit is contained in:
Simon 2025-07-10 10:10:49 +07:00
parent 569d97e2f3
commit 8fbd94b120
No known key found for this signature in database
GPG Key ID: 2C15AA5E89985DD4
2 changed files with 24 additions and 6 deletions

View File

@ -155,9 +155,13 @@ def is_shorts(youtube_id: str) -> bool:
"""check if youtube_id is a shorts video, bot not it it's not a shorts"""
shorts_url = f"https://www.youtube.com/shorts/{youtube_id}"
cookies = {"SOCS": "CAI"}
response = requests.head(
shorts_url, cookies=cookies, headers=requests_headers(), timeout=10
)
try:
response = requests.head(
shorts_url, cookies=cookies, headers=requests_headers(), timeout=10
)
except requests.exceptions.RequestException:
# assume video on error
return False
return response.status_code == 200

View File

@ -266,8 +266,15 @@ class PendingList(PendingIndex):
video_results = ChannelSubscription().get_last_youtube_videos(
url, limit=False, query_filter=query_filter
)
if not video_results:
print(f"{url}: no videos to add from channel, skipping")
return
channel_handler = YoutubeChannel(url)
channel_handler.build_json(upload=False)
if not channel_handler.json_data:
print(f"{url}: channel metadata extraction failed, skipping")
return
total = len(video_results)
for idx, video_data in enumerate(video_results):
@ -307,6 +314,10 @@ class PendingList(PendingIndex):
"""fast parse playlist"""
playlist = YoutubePlaylist(url)
playlist.get_from_youtube()
if not playlist.youtube_meta:
print(f"{url}: playlist metadata extraction failed, skipping")
return
video_results = playlist.youtube_meta["entries"]
total = len(video_results)
@ -347,11 +358,14 @@ class PendingList(PendingIndex):
video = YoutubeVideo(youtube_id=url)
video.get_from_youtube()
video_data = video.youtube_meta
video_data["vid_type"] = vid_type
if not video.youtube_meta:
print(f"{url}: video metadata extraction failed, skipping")
return None
video.youtube_meta["vid_type"] = vid_type
to_add = self._parse_entry(
youtube_id=url,
video_data=video_data,
video_data=video.youtube_meta,
url_type=url_type,
idx=idx,
total=total,