@ -10,7 +10,7 @@ module Invidious::Search
initial_data = YoutubeAPI.search(query.text, search_params, client_config: client_config)
items, _ = extract_items(initial_data)
return items
return items.reject!(Category)
end
# Search a youtube channel
@ -32,7 +32,7 @@ module Invidious::Search
response_json = YoutubeAPI.browse(continuation)
items, _ = extract_items(response_json, "", ucid)
# Search inside of user subscriptions
@ -113,7 +113,7 @@ module Invidious::Search
case @type
when .regular?, .playlist?
items = unnest_items(Processors.regular(self))
items = Processors.regular(self)
#
when .channel?
items = Processors.channel(self)
@ -136,26 +136,5 @@ module Invidious::Search
return params
# 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
else
items << i