mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 12:42:09 +00:00 
			
		
		
		
	Custom error on channel search, handle in search
This commit is contained in:
		| @@ -1,3 +1,6 @@ | |||||||
|  | class ChannelSearchException < InfoException | ||||||
|  | end | ||||||
|  |  | ||||||
| def channel_search(query, page, channel) | def channel_search(query, page, channel) | ||||||
|   response = YT_POOL.client &.get("/channel/#{channel}") |   response = YT_POOL.client &.get("/channel/#{channel}") | ||||||
|  |  | ||||||
| @@ -6,7 +9,7 @@ def channel_search(query, page, channel) | |||||||
|     response = YT_POOL.client &.get("/c/#{channel}") if response.status_code == 404 |     response = YT_POOL.client &.get("/c/#{channel}") if response.status_code == 404 | ||||||
|     initial_data = extract_initial_data(response.body) |     initial_data = extract_initial_data(response.body) | ||||||
|     ucid = initial_data.dig?("header", "c4TabbedHeaderRenderer", "channelId").try(&.as_s?) |     ucid = initial_data.dig?("header", "c4TabbedHeaderRenderer", "channelId").try(&.as_s?) | ||||||
|     raise InfoException.new("Impossible to extract channel ID from page") if !ucid |     raise ChannelSearchException.new("Impossible to extract channel ID from page") if !ucid | ||||||
|   else |   else | ||||||
|     ucid = channel |     ucid = channel | ||||||
|   end |   end | ||||||
| @@ -210,7 +213,13 @@ def process_search_query(query, page, user, region) | |||||||
|   search_query = (query.split(" ") - operators).join(" ") |   search_query = (query.split(" ") - operators).join(" ") | ||||||
|  |  | ||||||
|   if channel |   if channel | ||||||
|     count, items = channel_search(search_query, page, 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 | ||||||
|   elsif subscriptions |   elsif subscriptions | ||||||
|     if view_name |     if view_name | ||||||
|       items = PG_DB.query_all("SELECT id,title,published,updated,ucid,author,length_seconds FROM ( |       items = PG_DB.query_all("SELECT id,title,published,updated,ucid,author,length_seconds FROM ( | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 matthewmcgarvey
					matthewmcgarvey