Fix caption parsing on age restricted videos

This commit is contained in:
syeopite
2021-06-27 07:18:16 -07:00
parent ca4df29670
commit 54b19a04bb
6 changed files with 32 additions and 27 deletions

View File

@@ -1961,9 +1961,9 @@ get "/api/v1/captions/:id" do |env|
json.array do
captions.each do |caption|
json.object do
json.field "label", caption.name.simpleText
json.field "label", caption.name
json.field "languageCode", caption.languageCode
json.field "url", "/api/v1/captions/#{id}?label=#{URI.encode_www_form(caption.name.simpleText)}"
json.field "url", "/api/v1/captions/#{id}?label=#{URI.encode_www_form(caption.name)}"
end
end
end
@@ -1979,7 +1979,7 @@ get "/api/v1/captions/:id" do |env|
if lang
caption = captions.select { |caption| caption.languageCode == lang }
else
caption = captions.select { |caption| caption.name.simpleText == label }
caption = captions.select { |caption| caption.name == label }
end
if caption.empty?
@@ -1993,7 +1993,7 @@ get "/api/v1/captions/:id" do |env|
# Auto-generated captions often have cues that aren't aligned properly with the video,
# as well as some other markup that makes it cumbersome, so we try to fix that here
if caption.name.simpleText.includes? "auto-generated"
if caption.name.includes? "auto-generated"
caption_xml = YT_POOL.client &.get(url).body
caption_xml = XML.parse(caption_xml)