Add support for genre channels that don't end with " - Topic"

This commit is contained in:
Omar Roth 2018-09-09 08:53:04 -05:00
parent 8c45694ce5
commit 133b72f9cf
2 changed files with 9 additions and 5 deletions

View file

@ -1403,7 +1403,8 @@ get "/feed/channel/:ucid" do |env|
# Auto-generated channels # Auto-generated channels
# https://support.google.com/youtube/answer/2579942 # https://support.google.com/youtube/answer/2579942
if author.ends_with? " - Topic" if author.ends_with?(" - Topic") ||
{"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? author
auto_generated = true auto_generated = true
end end
@ -1660,7 +1661,8 @@ get "/channel/:ucid" do |env|
# Auto-generated channels # Auto-generated channels
# https://support.google.com/youtube/answer/2579942 # https://support.google.com/youtube/answer/2579942
if author.ends_with? " - Topic" if author.ends_with?(" - Topic") ||
{"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? author
auto_generated = true auto_generated = true
end end
@ -2330,7 +2332,8 @@ get "/api/v1/channels/:ucid" do |env|
# Auto-generated channels # Auto-generated channels
# https://support.google.com/youtube/answer/2579942 # https://support.google.com/youtube/answer/2579942
if author.ends_with? " - Topic" if author.ends_with?(" - Topic") ||
{"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? author
auto_generated = true auto_generated = true
end end
@ -2512,7 +2515,8 @@ get "/api/v1/channels/:ucid/videos" do |env|
# Auto-generated channels # Auto-generated channels
# https://support.google.com/youtube/answer/2579942 # https://support.google.com/youtube/answer/2579942
if author.ends_with? " - Topic" if author.ends_with?(" - Topic") ||
{"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? author
auto_generated = true auto_generated = true
end end

View file

@ -140,7 +140,7 @@ def fetch_user(sid, client, headers, db)
channels = [] of String channels = [] of String
feed.xpath_nodes(%q(//ul[@id="guide-channels"]/li/a)).each do |channel| feed.xpath_nodes(%q(//ul[@id="guide-channels"]/li/a)).each do |channel|
if !["Popular on YouTube", "Music", "Sports", "Gaming"].includes? channel["title"] if !{"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? channel["title"]
channel_id = channel["href"].lstrip("/channel/") channel_id = channel["href"].lstrip("/channel/")
begin begin