summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormatthewmcgarvey <matthewmcgarvey14@gmail.com>2022-01-17 09:59:42 -0600
committermatthewmcgarvey <matthewmcgarvey14@gmail.com>2022-01-18 18:37:16 -0600
commitd4f3139b734c401714682559b7b0137a5db9b3bd (patch)
treed63ac8407451eb31e100856cabace5d6abef7444 /src
parent97dceb3a5a8037fffc28b0e2deca4ebc42b24177 (diff)
downloadinvidious-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.cr13
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 (