summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious/channels.cr11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/invidious/channels.cr b/src/invidious/channels.cr
index 3a894b66..1d92dc87 100644
--- a/src/invidious/channels.cr
+++ b/src/invidious/channels.cr
@@ -190,11 +190,16 @@ def get_about_info(ucid)
client = make_client(YT_URL)
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)
- if !about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a))
- about = client.get("/user/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
- about = XML.parse_html(about.body)
+ if about.xpath_node(%q(//div[contains(@class, "channel-empty-message")]))
+ error_message = "This channel does not exist."
+
+ raise error_message
end
if about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a)).try &.content.empty?