Search: Don't extract items from categories too

This commit is contained in:
Samantaz Fox 2023-04-28 17:27:06 +02:00
parent 0107b774f2
commit 7afa03d821
No known key found for this signature in database
GPG key ID: F42821059186176E
2 changed files with 3 additions and 24 deletions

View file

@ -10,7 +10,7 @@ module Invidious::Search
initial_data = YoutubeAPI.search(query.text, search_params, client_config: client_config) initial_data = YoutubeAPI.search(query.text, search_params, client_config: client_config)
items, _ = extract_items(initial_data) items, _ = extract_items(initial_data)
return items return items.reject!(Category)
end end
# Search a youtube channel # Search a youtube channel
@ -32,7 +32,7 @@ module Invidious::Search
response_json = YoutubeAPI.browse(continuation) response_json = YoutubeAPI.browse(continuation)
items, _ = extract_items(response_json, "", ucid) items, _ = extract_items(response_json, "", ucid)
return items return items.reject!(Category)
end end
# Search inside of user subscriptions # Search inside of user subscriptions

View file

@ -113,7 +113,7 @@ module Invidious::Search
case @type case @type
when .regular?, .playlist? when .regular?, .playlist?
items = unnest_items(Processors.regular(self)) items = Processors.regular(self)
# #
when .channel? when .channel?
items = Processors.channel(self) items = Processors.channel(self)
@ -136,26 +136,5 @@ module Invidious::Search
return params return params
end end
# TODO: clean code
private def unnest_items(all_items) : Array(SearchItem)
items = [] of SearchItem
# Light processing to flatten search results out of Categories.
# They should ideally be supported in the future.
all_items.each do |i|
if i.is_a? Category
i.contents.each do |nest_i|
if !nest_i.is_a? Video
items << nest_i
end
end
else
items << i
end
end
return items
end
end end
end end