From 513363504f28d32c9bfb0d325296701f660b766a Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Thu, 5 Dec 2019 15:46:21 -0500 Subject: [PATCH] Add better error message for fetch_channel --- src/invidious/channels.cr | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/invidious/channels.cr b/src/invidious/channels.cr index 10e826e5e..ccb87d6fb 100644 --- a/src/invidious/channels.cr +++ b/src/invidious/channels.cr @@ -215,7 +215,17 @@ def fetch_channel(ucid, db, pull_all_videos = true, locale = nil) url = produce_channel_videos_url(ucid, page, auto_generated: auto_generated) response = YT_POOL.client &.get(url) - json = JSON.parse(response.body) + + begin + json = JSON.parse(response.body) + rescue ex + if response.body.includes?("To continue with your YouTube experience, please fill out the form below.") || + response.body.includes?("https://www.google.com/sorry/index") + raise "Could not extract channel info. Instance is likely blocked." + end + + raise "Could not extract JSON" + end if json["content_html"]? && !json["content_html"].as_s.empty? document = XML.parse_html(json["content_html"].as_s)