[videos] Add check if youtube fails
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
import pendulum
|
||||
from meta_yt import Video, YouTube
|
||||
from videos.metadata import VideoMetadata, VideoType
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
YOUTUBE_VIDEO_URL = "https://www.youtube.com/watch?v="
|
||||
YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/"
|
||||
@ -9,12 +12,16 @@ YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/"
|
||||
def lookup_video_from_youtube(youtube_id: str) -> VideoMetadata:
|
||||
from videos.models import Channel
|
||||
|
||||
yt_metadata: Optional[Video] = YouTube(
|
||||
YOUTUBE_VIDEO_URL + youtube_id
|
||||
).video
|
||||
video_metadata = VideoMetadata(youtube_id=youtube_id)
|
||||
try:
|
||||
yt_metadata: Optional[Video] = YouTube(
|
||||
YOUTUBE_VIDEO_URL + youtube_id
|
||||
).video
|
||||
except KeyError:
|
||||
logger.warning("Cannot access youtube, probably thinks you're a bot")
|
||||
return video_metadata
|
||||
|
||||
if yt_metadata:
|
||||
video_metadata = VideoMetadata(youtube_id=youtube_id)
|
||||
|
||||
if yt_metadata.channel:
|
||||
channel, _created = Channel.objects.get_or_create(
|
||||
|
||||
Reference in New Issue
Block a user