|
|
|
@ -251,25 +251,6 @@ def html_to_content(description_html : String)
|
|
|
|
|
return description
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def extract_videos(initial_data : Hash(String, JSON::Any), author_fallback : String? = nil, author_id_fallback : String? = nil)
|
|
|
|
|
extracted = extract_items(initial_data, author_fallback, author_id_fallback)
|
|
|
|
|
|
|
|
|
|
target = [] of SearchItem
|
|
|
|
|
extracted.each do |i|
|
|
|
|
|
if i.is_a?(Category)
|
|
|
|
|
i.contents.each { |cate_i| target << cate_i if !cate_i.is_a? Video }
|
|
|
|
|
else
|
|
|
|
|
target << i
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
return target.select(&.is_a?(SearchVideo)).map(&.as(SearchVideo))
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def extract_selected_tab(tabs)
|
|
|
|
|
# Extract the selected tab from the array of tabs Youtube returns
|
|
|
|
|
return selected_target = tabs.as_a.select(&.["tabRenderer"]?.try &.["selected"].as_bool)[0]["tabRenderer"]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def check_enum(db, enum_name, struct_type = nil)
|
|
|
|
|
return # TODO
|
|
|
|
|
|
|
|
|
|