forked from midou/invidious
Simplify resolveUrl api call
Co-Authored-By: Samantaz Fox <coding@samantaz.fr>
This commit is contained in:
parent
e3c365f3d6
commit
734f1b7764
@ -24,12 +24,12 @@ def fetch_channel_community(ucid, cursor, locale, format, thin_mode)
|
||||
return extract_channel_community(items, ucid: ucid, locale: locale, format: format, thin_mode: thin_mode)
|
||||
end
|
||||
|
||||
def fetch_channel_community_post(ucid, postId, locale, format, thin_mode, params : String | Nil = nil)
|
||||
def fetch_channel_community_post(ucid, post_id, locale, format, thin_mode, params : String | Nil = nil)
|
||||
if params.nil?
|
||||
object = {
|
||||
"2:string" => "community",
|
||||
"25:embedded" => {
|
||||
"22:string" => postId.to_s,
|
||||
"22:string" => post_id.to_s,
|
||||
},
|
||||
"45:embedded" => {
|
||||
"2:varint" => 1_i64,
|
||||
|
@ -16,11 +16,11 @@ module Invidious::Comments
|
||||
return parse_youtube(id, response, format, locale, thin_mode, sort_by)
|
||||
end
|
||||
|
||||
def fetch_community_post_comments(ucid, postId)
|
||||
def fetch_community_post_comments(ucid, post_id)
|
||||
object = {
|
||||
"2:string" => "community",
|
||||
"25:embedded" => {
|
||||
"22:string" => postId,
|
||||
"22:string" => post_id,
|
||||
},
|
||||
"45:embedded" => {
|
||||
"2:varint" => 1_i64,
|
||||
@ -30,7 +30,7 @@ module Invidious::Comments
|
||||
"4:embedded" => {
|
||||
"6:varint" => 0_i64,
|
||||
"27:varint" => 1_i64,
|
||||
"29:string" => postId,
|
||||
"29:string" => post_id,
|
||||
"30:string" => ucid,
|
||||
},
|
||||
"8:string" => "comments-section",
|
||||
|
@ -162,16 +162,15 @@ module Invidious::Routes::API::V1::Misc
|
||||
resolved_url = YoutubeAPI.resolve_url(url.as(String))
|
||||
endpoint = resolved_url["endpoint"]
|
||||
pageType = endpoint.dig?("commandMetadata", "webCommandMetadata", "webPageType").try &.as_s || ""
|
||||
if sub_endpoint = endpoint.dig?("watchEndpoint")
|
||||
resolved_ucid = sub_endpoint.dig?("videoId")
|
||||
elsif sub_endpoint = endpoint.dig?("browseEndpoint")
|
||||
resolved_ucid = sub_endpoint.dig?("browseId")
|
||||
if sub_endpoint = endpoint["watchEndpoint"]?
|
||||
resolved_ucid = sub_endpoint["videoId"]?
|
||||
elsif sub_endpoint = endpoint["browseEndpoint"]?
|
||||
resolved_ucid = sub_endpoint["browseId"]?
|
||||
elsif pageType == "WEB_PAGE_TYPE_UNKNOWN"
|
||||
return error_json(400, "Unknown url")
|
||||
end
|
||||
if !sub_endpoint.nil?
|
||||
params = sub_endpoint.dig?("params")
|
||||
end
|
||||
|
||||
params = sub_endpoint.try &.dig?("params")
|
||||
rescue ex
|
||||
return error_json(500, ex)
|
||||
end
|
||||
|
@ -161,7 +161,7 @@ module Invidious::Routes::Channels
|
||||
|
||||
# redirect to post page
|
||||
if lb = env.params.query["lb"]?
|
||||
env.redirect "/post/#{lb}?ucid=#{ucid}"
|
||||
env.redirect "/post/#{URI.encode_www_form(lb)}?ucid=#{URI.encode_www_form(ucid)}"
|
||||
end
|
||||
|
||||
thin_mode = env.params.query["thin_mode"]? || env.get("preferences").as(Preferences).thin_mode
|
||||
|
Loading…
Reference in New Issue
Block a user