From 795aacb044c6db9ec706f9b87ec3aa2ebe7a23b2 Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Mon, 20 Jul 2020 19:03:53 -0700 Subject: [PATCH] Add ChannelNotFound exception. --- ycdl/ytapi.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ycdl/ytapi.py b/ycdl/ytapi.py index 2f40f31..bab701e 100644 --- a/ycdl/ytapi.py +++ b/ycdl/ytapi.py @@ -17,6 +17,9 @@ def int_none(x): return None return int(x) +class ChannelNotFound(Exception): + pass + class VideoNotFound(Exception): pass @@ -102,14 +105,20 @@ class Youtube: def get_user_id(self, username): user = self.youtube.channels().list(part='snippet', forUsername=username).execute() + if not user.get('items'): + raise ChannelNotFound(f'username: {username}') return user['items'][0]['id'] def get_user_name(self, uid): user = self.youtube.channels().list(part='snippet', id=uid).execute() + if not user.get('items'): + raise ChannelNotFound(f'uid: {uid}') return user['items'][0]['snippet']['title'] def get_user_uploads_playlist_id(self, uid): user = self.youtube.channels().list(part='contentDetails', id=uid).execute() + if not user.get('items'): + raise ChannelNotFound(f'uid: {uid}') return user['items'][0]['contentDetails']['relatedPlaylists']['uploads'] def get_user_videos(self, uid):