Add mixes to genre channels

This commit is contained in:
Omar Roth 2019-03-17 18:31:11 -05:00
parent 44f4057876
commit 2ebc773863
2 changed files with 15 additions and 2 deletions

View file

@ -2471,7 +2471,14 @@ get "/channel/:ucid" do |env|
sort_by ||= "last"
items, continuation = fetch_channel_playlists(ucid, author, auto_generated, continuation, sort_by)
items.select! { |item| item.is_a?(SearchPlaylist) && !item.videos.empty? }
items.uniq! do |item|
if item.responds_to?(:title)
item.title
elsif item.responds_to?(:author)
item.author
end
end
items.select! { |item| item.responds_to?(:thumbnail_id) && item.thumbnail_id }
items = items.map { |item| item.as(SearchPlaylist) }
items.each { |item| item.author = "" }
else

View file

@ -416,12 +416,18 @@ def extract_shelf_items(nodeset, ucid = nil, author_name = nil)
thumbnail_id = playlist_thumbnail.match(/\/vi\/(?<video_id>[a-zA-Z0-9_-]{11})\/\w+\.jpg/).try &.["video_id"]
end
video_count_label = child_node.xpath_node(%q(.//span[@class="formatted-video-count-label"]))
if video_count_label
video_count = video_count_label.content.strip.match(/^\d+/).try &.[0].to_i?
end
video_count ||= 50
items << SearchPlaylist.new(
playlist_title,
plid,
author_name,
ucid,
50,
video_count,
Array(SearchPlaylistVideo).new,
thumbnail_id
)