From d4f3139b734c401714682559b7b0137a5db9b3bd Mon Sep 17 00:00:00 2001 From: matthewmcgarvey Date: Mon, 17 Jan 2022 09:59:42 -0600 Subject: [PATCH] Don't catch and provide better error message instead --- src/invidious/search.cr | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/invidious/search.cr b/src/invidious/search.cr index 6cb61e7d..5b824307 100644 --- a/src/invidious/search.cr +++ b/src/invidious/search.cr @@ -1,4 +1,7 @@ class ChannelSearchException < InfoException + def initialize(channel : String) + super "Unable to find channel with id of '#{channel}'. Are you sure that's an actual channel id?" + end end def channel_search(query, page, channel) @@ -9,7 +12,7 @@ def channel_search(query, page, channel) response = YT_POOL.client &.get("/c/#{channel}") if response.status_code == 404 initial_data = extract_initial_data(response.body) ucid = initial_data.dig?("header", "c4TabbedHeaderRenderer", "channelId").try(&.as_s?) - raise ChannelSearchException.new("Impossible to extract channel ID from page") if !ucid + raise ChannelSearchException.new(channel) if !ucid else ucid = channel end @@ -213,13 +216,7 @@ def process_search_query(query, page, user, region) search_query = (query.split(" ") - operators).join(" ") if channel - begin - count, items = channel_search(search_query, page, channel) - rescue ChannelSearchException - # most likely reason for this is that they provided an invalid channel id to the search - count = 0 - items = [] of ChannelVideo - end + count, items = channel_search(search_query, page, channel) elsif subscriptions if view_name items = PG_DB.query_all("SELECT id,title,published,updated,ucid,author,length_seconds FROM (