Add subtitles to download widget

pull/366/head
Omar Roth 6 years ago
parent 611555514c
commit 5e141e869d

@ -2722,6 +2722,11 @@ get "/api/v1/captions/:id" do |env|
END_CUE END_CUE
end end
if title = env.params.query["title"]?
# https://blog.fastmail.com/2011/06/24/download-non-english-filenames/
env.response.headers["Content-Disposition"] = "attachment; filename=\"#{URI.escape(title)}\"; filename*=UTF-8''#{URI.escape(title)}"
end
webvtt webvtt
end end
@ -4214,11 +4219,18 @@ end
get "/latest_version" do |env| get "/latest_version" do |env|
if env.params.query["download_widget"]? if env.params.query["download_widget"]?
download_widget = JSON.parse(env.params.query["download_widget"]) download_widget = JSON.parse(env.params.query["download_widget"])
id = download_widget["id"].as_s id = download_widget["id"].as_s
itag = download_widget["itag"].as_s
title = download_widget["title"].as_s title = download_widget["title"].as_s
if label = download_widget["label"]?
env.redirect "/api/v1/captions/#{id}?label=#{label}&title=#{title}"
next
else
itag = download_widget["itag"].as_s
local = "true" local = "true"
end end
end
id ||= env.params.query["id"]? id ||= env.params.query["id"]?
itag ||= env.params.query["itag"]? itag ||= env.params.query["itag"]?

@ -79,6 +79,11 @@
<%= itag_to_metadata?(option["itag"]).try &.["height"]? || "~240" %>p - <%= option["type"].split(";")[0] %> <%= itag_to_metadata?(option["itag"]).try &.["height"]? || "~240" %>p - <%= option["type"].split(";")[0] %>
</option> </option>
<% end %> <% end %>
<% captions.each do |caption| %>
<option value='{"id":"<%= video.id %>","label":"<%= caption.name.simpleText %>","title":"<%= URI.escape(video.title) %>-<%= video.id %>.<%= caption.languageCode %>.vtt"}'>
<%= translate(locale, "Subtitles - `x` (.vtt)", caption.name.simpleText) %>
</option>
<% end %>
</select> </select>
</div> </div>

Loading…
Cancel
Save