Fix handling for non-existent channels

This commit is contained in:
Omar Roth 2018-10-23 21:04:15 -05:00
parent ceff2763a5
commit be601a7584

View File

@ -190,11 +190,16 @@ def get_about_info(ucid)
client = make_client(YT_URL) client = make_client(YT_URL)
about = client.get("/channel/#{ucid}/about?disable_polymer=1&gl=US&hl=en") about = client.get("/channel/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
if about.status_code == 404
about = client.get("/user/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
end
about = XML.parse_html(about.body) about = XML.parse_html(about.body)
if !about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a)) if about.xpath_node(%q(//div[contains(@class, "channel-empty-message")]))
about = client.get("/user/#{ucid}/about?disable_polymer=1&gl=US&hl=en") error_message = "This channel does not exist."
about = XML.parse_html(about.body)
raise error_message
end end
if about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a)).try &.content.empty? if about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a)).try &.content.empty?