diff options
| author | matthewmcgarvey <matthewmcgarvey14@gmail.com> | 2022-01-17 09:59:42 -0600 |
|---|---|---|
| committer | matthewmcgarvey <matthewmcgarvey14@gmail.com> | 2022-01-18 18:37:16 -0600 |
| commit | d4f3139b734c401714682559b7b0137a5db9b3bd (patch) | |
| tree | d63ac8407451eb31e100856cabace5d6abef7444 /src | |
| parent | 97dceb3a5a8037fffc28b0e2deca4ebc42b24177 (diff) | |
| download | invidious-d4f3139b734c401714682559b7b0137a5db9b3bd.tar.gz invidious-d4f3139b734c401714682559b7b0137a5db9b3bd.tar.bz2 invidious-d4f3139b734c401714682559b7b0137a5db9b3bd.zip | |
Don't catch and provide better error message instead
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/search.cr | 13 |
1 files 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 ( |
