diff --git a/src/invidious.cr b/src/invidious.cr
index e2c83bda..f41ae6f8 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -703,13 +703,13 @@ get "/subscription_manager" do |env|
xml.element("outline", text: title, title: title) do
subscriptions.each do |channel|
if format == "newpipe"
- xmlUrl = "https://www.youtube.com/feeds/videos.xml?channel_id=#{channel.id}"
+ xml_url = "https://www.youtube.com/feeds/videos.xml?channel_id=#{channel.id}"
else
- xmlUrl = "#{HOST_URL}/feed/channel/#{channel.id}"
+ xml_url = "#{HOST_URL}/feed/channel/#{channel.id}"
end
xml.element("outline", text: channel.author, title: channel.author,
- "type": "rss", xmlUrl: xmlUrl)
+ "type": "rss", xmlUrl: xml_url)
end
end
end
@@ -1351,7 +1351,7 @@ error 500 do |env, ex|
error_template(500, ex)
end
-static_headers do | response |
+static_headers do |response|
response.headers.add("Cache-Control", "max-age=2629800")
end
diff --git a/src/invidious/channels/playlists.cr b/src/invidious/channels/playlists.cr
index 3072b21d..d5628f6a 100644
--- a/src/invidious/channels/playlists.cr
+++ b/src/invidious/channels/playlists.cr
@@ -1,17 +1,17 @@
def fetch_channel_playlists(ucid, author, continuation, sort_by)
if continuation
response_json = YoutubeAPI.browse(continuation)
- continuationItems = response_json["onResponseReceivedActions"]?
+ continuation_items = response_json["onResponseReceivedActions"]?
.try &.[0]["appendContinuationItemsAction"]["continuationItems"]
- return [] of SearchItem, nil if !continuationItems
+ return [] of SearchItem, nil if !continuation_items
items = [] of SearchItem
- continuationItems.as_a.select(&.as_h.has_key?("gridPlaylistRenderer")).each { |item|
+ continuation_items.as_a.select(&.as_h.has_key?("gridPlaylistRenderer")).each { |item|
extract_item(item, author, ucid).try { |t| items << t }
}
- continuation = continuationItems.as_a.last["continuationItemRenderer"]?
+ continuation = continuation_items.as_a.last["continuationItemRenderer"]?
.try &.["continuationEndpoint"]["continuationCommand"]["token"].as_s
else
url = "/channel/#{ucid}/playlists?flow=list&view=1"
diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr
index caeaa0e8..3370b088 100644
--- a/src/invidious/comments.cr
+++ b/src/invidious/comments.cr
@@ -73,9 +73,9 @@ def fetch_youtube_comments(id, cursor, format, locale, thin_mode, region, sort_b
contents = nil
if response["onResponseReceivedEndpoints"]?
- onResponseReceivedEndpoints = response["onResponseReceivedEndpoints"]
+ on_response_received_endpoints = response["onResponseReceivedEndpoints"]
header = nil
- onResponseReceivedEndpoints.as_a.each do |item|
+ on_response_received_endpoints.as_a.each do |item|
if item["reloadContinuationItemsCommand"]?
case item["reloadContinuationItemsCommand"]["slot"]
when "RELOAD_CONTINUATION_SLOT_HEADER"
@@ -97,7 +97,8 @@ def fetch_youtube_comments(id, cursor, format, locale, thin_mode, region, sort_b
contents = body["contents"]?
header = body["header"]?
if body["continuations"]?
- moreRepliesContinuation = body["continuations"][0]["nextContinuationData"]["continuation"].as_s
+ # Removable? Doesn't seem like this is used.
+ more_replies_continuation = body["continuations"][0]["nextContinuationData"]["continuation"].as_s
end
else
raise InfoException.new("Could not fetch comments")
@@ -111,10 +112,10 @@ def fetch_youtube_comments(id, cursor, format, locale, thin_mode, region, sort_b
end
end
- continuationItemRenderer = nil
+ continuation_item_renderer = nil
contents.as_a.reject! do |item|
if item["continuationItemRenderer"]?
- continuationItemRenderer = item["continuationItemRenderer"]
+ continuation_item_renderer = item["continuationItemRenderer"]
true
end
end
@@ -232,14 +233,14 @@ def fetch_youtube_comments(id, cursor, format, locale, thin_mode, region, sort_b
end
end
- if continuationItemRenderer
- if continuationItemRenderer["continuationEndpoint"]?
- continuationEndpoint = continuationItemRenderer["continuationEndpoint"]
- elsif continuationItemRenderer["button"]?
- continuationEndpoint = continuationItemRenderer["button"]["buttonRenderer"]["command"]
+ if continuation_item_renderer
+ if continuation_item_renderer["continuationEndpoint"]?
+ continuation_endpoint = continuation_item_renderer["continuationEndpoint"]
+ elsif continuation_item_renderer["button"]?
+ continuation_endpoint = continuation_item_renderer["button"]["buttonRenderer"]["command"]
end
- if continuationEndpoint
- json.field "continuation", continuationEndpoint["continuationCommand"]["token"].as_s
+ if continuation_endpoint
+ json.field "continuation", continuation_endpoint["continuationCommand"]["token"].as_s
end
end
end
diff --git a/src/invidious/routes/api/v1/videos.cr b/src/invidious/routes/api/v1/videos.cr
index 575e6fdf..d483bca6 100644
--- a/src/invidious/routes/api/v1/videos.cr
+++ b/src/invidious/routes/api/v1/videos.cr
@@ -58,7 +58,7 @@ module Invidious::Routes::API::V1::Videos
captions.each do |caption|
json.object do
json.field "label", caption.name
- json.field "languageCode", caption.languageCode
+ json.field "languageCode", caption.language_code
json.field "url", "/api/v1/captions/#{id}?label=#{URI.encode_www_form(caption.name)}"
end
end
@@ -73,7 +73,7 @@ module Invidious::Routes::API::V1::Videos
env.response.content_type = "text/vtt; charset=UTF-8"
if lang
- caption = captions.select { |caption| caption.languageCode == lang }
+ caption = captions.select { |caption| caption.language_code == lang }
else
caption = captions.select { |caption| caption.name == label }
end
@@ -84,7 +84,7 @@ module Invidious::Routes::API::V1::Videos
caption = caption[0]
end
- url = URI.parse("#{caption.baseUrl}&tlang=#{tlang}").request_target
+ url = URI.parse("#{caption.base_url}&tlang=#{tlang}").request_target
# 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
@@ -96,7 +96,7 @@ module Invidious::Routes::API::V1::Videos
str << <<-END_VTT
WEBVTT
Kind: captions
- Language: #{tlang || caption.languageCode}
+ Language: #{tlang || caption.language_code}
END_VTT
diff --git a/src/invidious/routes/embed.cr b/src/invidious/routes/embed.cr
index 80d09789..ffbf8c14 100644
--- a/src/invidious/routes/embed.cr
+++ b/src/invidious/routes/embed.cr
@@ -168,11 +168,11 @@ module Invidious::Routes::Embed
preferred_captions = captions.select { |caption|
params.preferred_captions.includes?(caption.name) ||
- params.preferred_captions.includes?(caption.languageCode.split("-")[0])
+ params.preferred_captions.includes?(caption.language_code.split("-")[0])
}
preferred_captions.sort_by! { |caption|
(params.preferred_captions.index(caption.name) ||
- params.preferred_captions.index(caption.languageCode.split("-")[0])).not_nil!
+ params.preferred_captions.index(caption.language_code.split("-")[0])).not_nil!
}
captions = captions - preferred_captions
diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr
index 2db133ee..abcf427e 100644
--- a/src/invidious/routes/watch.cr
+++ b/src/invidious/routes/watch.cr
@@ -153,11 +153,11 @@ module Invidious::Routes::Watch
preferred_captions = captions.select { |caption|
params.preferred_captions.includes?(caption.name) ||
- params.preferred_captions.includes?(caption.languageCode.split("-")[0])
+ params.preferred_captions.includes?(caption.language_code.split("-")[0])
}
preferred_captions.sort_by! { |caption|
(params.preferred_captions.index(caption.name) ||
- params.preferred_captions.index(caption.languageCode.split("-")[0])).not_nil!
+ params.preferred_captions.index(caption.language_code.split("-")[0])).not_nil!
}
captions = captions - preferred_captions
diff --git a/src/invidious/search.cr b/src/invidious/search.cr
index f59c9a14..f06ee7f6 100644
--- a/src/invidious/search.cr
+++ b/src/invidious/search.cr
@@ -14,13 +14,13 @@ def channel_search(query, page, channel)
continuation = produce_channel_search_continuation(ucid, query, page)
response_json = YoutubeAPI.browse(continuation)
- continuationItems = response_json["onResponseReceivedActions"]?
+ continuation_items = response_json["onResponseReceivedActions"]?
.try &.[0]["appendContinuationItemsAction"]["continuationItems"]
- return 0, [] of SearchItem if !continuationItems
+ return 0, [] of SearchItem if !continuation_items
items = [] of SearchItem
- continuationItems.as_a.select(&.as_h.has_key?("itemSectionRenderer")).each { |item|
+ continuation_items.as_a.select(&.as_h.has_key?("itemSectionRenderer")).each { |item|
extract_item(item["itemSectionRenderer"]["contents"].as_a[0])
.try { |t| items << t }
}
diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr
index 0e6bd77c..0fe949c7 100644
--- a/src/invidious/videos.cr
+++ b/src/invidious/videos.cr
@@ -426,7 +426,7 @@ struct Video
self.captions.each do |caption|
json.object do
json.field "label", caption.name
- json.field "languageCode", caption.languageCode
+ json.field "language_code", caption.language_code
json.field "url", "/api/v1/captions/#{id}?label=#{URI.encode_www_form(caption.name)}"
end
end
@@ -703,10 +703,10 @@ struct Video
return @captions.as(Array(Caption)) if @captions
captions = info["captions"]?.try &.["playerCaptionsTracklistRenderer"]?.try &.["captionTracks"]?.try &.as_a.map do |caption|
name = caption["name"]["simpleText"]? || caption["name"]["runs"][0]["text"]
- languageCode = caption["languageCode"].to_s
- baseUrl = caption["baseUrl"].to_s
+ language_code = caption["languageCode"].to_s
+ base_url = caption["baseUrl"].to_s
- caption = Caption.new(name.to_s, languageCode, baseUrl)
+ caption = Caption.new(name.to_s, language_code, base_url)
caption.name = caption.name.split(" - ")[0]
caption
end
@@ -785,16 +785,16 @@ end
struct Caption
property name
- property languageCode
- property baseUrl
+ property language_code
+ property base_url
getter name : String
- getter languageCode : String
- getter baseUrl : String
+ getter language_code : String
+ getter base_url : String
setter name
- def initialize(@name, @languageCode, @baseUrl)
+ def initialize(@name, @language_code, @base_url)
end
end
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr
index 398e25b6..265d1628 100644
--- a/src/invidious/views/watch.ecr
+++ b/src/invidious/views/watch.ecr
@@ -184,7 +184,7 @@ we're going to need to do it here in order to allow for translations.
<% end %>
<% captions.each do |caption| %>
-
<% end %>