From 3d92dfd0ad0c0dcb22dbafe74bb5458eb44ff786 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Mon, 24 Aug 2015 14:51:01 -0700 Subject: [PATCH] Handling YouTube client errors gracefully. --- utils/feed_fetcher.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/feed_fetcher.py b/utils/feed_fetcher.py index f31de966f..2f7c0b4e2 100644 --- a/utils/feed_fetcher.py +++ b/utils/feed_fetcher.py @@ -172,7 +172,7 @@ class FetchFeed: try: username = channel['items'][0]['snippet']['title'] description = channel['items'][0]['snippet']['description'] - except IndexError: + except (IndexError, KeyError): return elif list_id: playlist_json = requests.get("https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=%s&key=%s" % @@ -181,7 +181,7 @@ class FetchFeed: try: username = playlist['items'][0]['snippet']['title'] description = playlist['items'][0]['snippet']['description'] - except IndexError: + except (IndexError, KeyError): return channel_url = "https://www.youtube.com/playlist?list=%s" % list_id elif username: @@ -196,7 +196,7 @@ class FetchFeed: playlist = json.decode(playlist_json.content) try: video_ids = [video['snippet']['resourceId']['videoId'] for video in playlist['items']] - except IndexError: + except (IndexError, KeyError): return else: if video_ids_xml.status_code != 200: