mirror of
https://git.vectorsigma.ru/public/tubearchivist.git
synced 2026-08-04 22:59:39 +00:00
add to queue error handling
This commit is contained in:
@@ -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"""
|
"""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}"
|
shorts_url = f"https://www.youtube.com/shorts/{youtube_id}"
|
||||||
cookies = {"SOCS": "CAI"}
|
cookies = {"SOCS": "CAI"}
|
||||||
|
try:
|
||||||
response = requests.head(
|
response = requests.head(
|
||||||
shorts_url, cookies=cookies, headers=requests_headers(), timeout=10
|
shorts_url, cookies=cookies, headers=requests_headers(), timeout=10
|
||||||
)
|
)
|
||||||
|
except requests.exceptions.RequestException:
|
||||||
|
# assume video on error
|
||||||
|
return False
|
||||||
|
|
||||||
return response.status_code == 200
|
return response.status_code == 200
|
||||||
|
|
||||||
|
|||||||
@@ -266,8 +266,15 @@ class PendingList(PendingIndex):
|
|||||||
video_results = ChannelSubscription().get_last_youtube_videos(
|
video_results = ChannelSubscription().get_last_youtube_videos(
|
||||||
url, limit=False, query_filter=query_filter
|
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 = YoutubeChannel(url)
|
||||||
channel_handler.build_json(upload=False)
|
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)
|
total = len(video_results)
|
||||||
for idx, video_data in enumerate(video_results):
|
for idx, video_data in enumerate(video_results):
|
||||||
@@ -307,6 +314,10 @@ class PendingList(PendingIndex):
|
|||||||
"""fast parse playlist"""
|
"""fast parse playlist"""
|
||||||
playlist = YoutubePlaylist(url)
|
playlist = YoutubePlaylist(url)
|
||||||
playlist.get_from_youtube()
|
playlist.get_from_youtube()
|
||||||
|
if not playlist.youtube_meta:
|
||||||
|
print(f"{url}: playlist metadata extraction failed, skipping")
|
||||||
|
return
|
||||||
|
|
||||||
video_results = playlist.youtube_meta["entries"]
|
video_results = playlist.youtube_meta["entries"]
|
||||||
|
|
||||||
total = len(video_results)
|
total = len(video_results)
|
||||||
@@ -347,11 +358,14 @@ class PendingList(PendingIndex):
|
|||||||
video = YoutubeVideo(youtube_id=url)
|
video = YoutubeVideo(youtube_id=url)
|
||||||
video.get_from_youtube()
|
video.get_from_youtube()
|
||||||
|
|
||||||
video_data = video.youtube_meta
|
if not video.youtube_meta:
|
||||||
video_data["vid_type"] = vid_type
|
print(f"{url}: video metadata extraction failed, skipping")
|
||||||
|
return None
|
||||||
|
|
||||||
|
video.youtube_meta["vid_type"] = vid_type
|
||||||
to_add = self._parse_entry(
|
to_add = self._parse_entry(
|
||||||
youtube_id=url,
|
youtube_id=url,
|
||||||
video_data=video_data,
|
video_data=video.youtube_meta,
|
||||||
url_type=url_type,
|
url_type=url_type,
|
||||||
idx=idx,
|
idx=idx,
|
||||||
total=total,
|
total=total,
|
||||||
|
|||||||
Reference in New Issue
Block a user