Update error messages for /api/v1/channels
This commit is contained in:
parent
8fd54027de
commit
ceff2763a5
2 changed files with 17 additions and 14 deletions
|
@ -1482,8 +1482,8 @@ get "/feed/channel/:ucid" do |env|
|
||||||
begin
|
begin
|
||||||
author, ucid, auto_generated = get_about_info(ucid)
|
author, ucid, auto_generated = get_about_info(ucid)
|
||||||
rescue ex
|
rescue ex
|
||||||
error_message = "User does not exist"
|
error_message = ex.message
|
||||||
halt env, status_code: 404, response: error_message
|
halt env, status_code: 500, response: error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -1720,7 +1720,7 @@ get "/channel/:ucid" do |env|
|
||||||
begin
|
begin
|
||||||
author, ucid, auto_generated, sub_count = get_about_info(ucid)
|
author, ucid, auto_generated, sub_count = get_about_info(ucid)
|
||||||
rescue ex
|
rescue ex
|
||||||
error_message = "User does not exist"
|
error_message = ex.message
|
||||||
next templated "error"
|
next templated "error"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1763,7 +1763,7 @@ get "/api/v1/captions/:id" do |env|
|
||||||
rescue ex : VideoRedirect
|
rescue ex : VideoRedirect
|
||||||
next env.redirect "/api/v1/captions/#{ex.message}"
|
next env.redirect "/api/v1/captions/#{ex.message}"
|
||||||
rescue ex
|
rescue ex
|
||||||
halt env, status_code: 403
|
halt env, status_code: 500
|
||||||
end
|
end
|
||||||
|
|
||||||
captions = video.captions
|
captions = video.captions
|
||||||
|
@ -1955,7 +1955,7 @@ get "/api/v1/comments/:id" do |env|
|
||||||
response = JSON.parse(response.body)
|
response = JSON.parse(response.body)
|
||||||
|
|
||||||
if !response["response"]["continuationContents"]?
|
if !response["response"]["continuationContents"]?
|
||||||
halt env, status_code: 403
|
halt env, status_code: 500
|
||||||
end
|
end
|
||||||
|
|
||||||
response = response["response"]["continuationContents"]
|
response = response["response"]["continuationContents"]
|
||||||
|
@ -2486,8 +2486,8 @@ get "/api/v1/channels/:ucid" do |env|
|
||||||
begin
|
begin
|
||||||
author, ucid, auto_generated = get_about_info(ucid)
|
author, ucid, auto_generated = get_about_info(ucid)
|
||||||
rescue ex
|
rescue ex
|
||||||
error_message = {"error" => "User does not exist"}.to_json
|
error_message = {"error" => ex.message}.to_json
|
||||||
halt env, status_code: 404, response: error_message
|
halt env, status_code: 500, response: error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
page = 1
|
page = 1
|
||||||
|
@ -2627,8 +2627,8 @@ end
|
||||||
begin
|
begin
|
||||||
author, ucid, auto_generated = get_about_info(ucid)
|
author, ucid, auto_generated = get_about_info(ucid)
|
||||||
rescue ex
|
rescue ex
|
||||||
error_message = {"error" => "User does not exist"}.to_json
|
error_message = {"error" => ex.message}.to_json
|
||||||
halt env, status_code: 404, response: error_message
|
halt env, status_code: 500, response: error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
videos, count = get_60_videos(ucid, page, auto_generated)
|
videos, count = get_60_videos(ucid, page, auto_generated)
|
||||||
|
@ -2913,7 +2913,7 @@ get "/api/v1/playlists/:plid" do |env|
|
||||||
playlist = fetch_playlist(plid)
|
playlist = fetch_playlist(plid)
|
||||||
rescue ex
|
rescue ex
|
||||||
error_message = {"error" => "Playlist is empty"}.to_json
|
error_message = {"error" => "Playlist is empty"}.to_json
|
||||||
halt env, status_code: 404, response: error_message
|
halt env, status_code: 500, response: error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
|
|
@ -189,16 +189,19 @@ end
|
||||||
def get_about_info(ucid)
|
def get_about_info(ucid)
|
||||||
client = make_client(YT_URL)
|
client = make_client(YT_URL)
|
||||||
|
|
||||||
about = client.get("/user/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
|
about = client.get("/channel/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
|
||||||
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(//span[contains(@class,"qualified-channel-title-text")]/a))
|
||||||
about = client.get("/channel/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
|
about = client.get("/user/#{ucid}/about?disable_polymer=1&gl=US&hl=en")
|
||||||
about = XML.parse_html(about.body)
|
about = XML.parse_html(about.body)
|
||||||
end
|
end
|
||||||
|
|
||||||
if !about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a))
|
if about.xpath_node(%q(//span[contains(@class,"qualified-channel-title-text")]/a)).try &.content.empty?
|
||||||
raise "User does not exist."
|
error_message = about.xpath_node(%q(//div[@class="yt-alert-content"])).try &.content.strip
|
||||||
|
error_message ||= "Could not get channel info."
|
||||||
|
|
||||||
|
raise error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
sub_count = about.xpath_node(%q(//span[contains(text(), "subscribers")]))
|
sub_count = about.xpath_node(%q(//span[contains(text(), "subscribers")]))
|
||||||
|
|
Loading…
Reference in a new issue