summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsyeopite <syeopite@syeopite.dev>2023-07-23 00:54:43 -0700
committersyeopite <syeopite@syeopite.dev>2023-07-23 14:40:08 -0700
commit7e5935a9da5355bbdd4c047edf692b0ce57722c7 (patch)
tree7f9f76a46c1df2f62b5c4b0f4f1392083806fd56 /src
parent2e67b90540d35ede212866e1fb597fd57ced35d5 (diff)
downloadinvidious-7e5935a9da5355bbdd4c047edf692b0ce57722c7.tar.gz
invidious-7e5935a9da5355bbdd4c047edf692b0ce57722c7.tar.bz2
invidious-7e5935a9da5355bbdd4c047edf692b0ce57722c7.zip
Rename Caption struct to CaptionMetadata
The Caption object does not actually store any text lines for the subtitles. Instead it stores the metadata needed to display and fetch the actual captions from the YT timedtext API. Therefore it may be wiser to rename the struct to be more reflective of its current usage as well as the future usage once the current caption retrival system is replaced via InnerTube's transcript API
Diffstat (limited to 'src')
-rw-r--r--src/invidious/frontend/watch_page.cr2
-rw-r--r--src/invidious/videos.cr6
-rw-r--r--src/invidious/videos/caption.cr8
-rw-r--r--src/invidious/views/user/preferences.ecr2
4 files changed, 9 insertions, 9 deletions
diff --git a/src/invidious/frontend/watch_page.cr b/src/invidious/frontend/watch_page.cr
index e3214469..b860dba7 100644
--- a/src/invidious/frontend/watch_page.cr
+++ b/src/invidious/frontend/watch_page.cr
@@ -7,7 +7,7 @@ module Invidious::Frontend::WatchPage
getter full_videos : Array(Hash(String, JSON::Any))
getter video_streams : Array(Hash(String, JSON::Any))
getter audio_streams : Array(Hash(String, JSON::Any))
- getter captions : Array(Invidious::Videos::Caption)
+ getter captions : Array(Invidious::Videos::CaptionMetadata)
def initialize(
@full_videos,
diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr
index f38b33e5..2b1d2603 100644
--- a/src/invidious/videos.cr
+++ b/src/invidious/videos.cr
@@ -24,7 +24,7 @@ struct Video
property updated : Time
@[DB::Field(ignore: true)]
- @captions = [] of Invidious::Videos::Caption
+ @captions = [] of Invidious::Videos::CaptionMetadata
@[DB::Field(ignore: true)]
property adaptive_fmts : Array(Hash(String, JSON::Any))?
@@ -215,9 +215,9 @@ struct Video
keywords.includes? "YouTube Red"
end
- def captions : Array(Invidious::Videos::Caption)
+ def captions : Array(Invidious::Videos::CaptionMetadata)
if @captions.empty? && @info.has_key?("captions")
- @captions = Invidious::Videos::Caption.from_yt_json(info["captions"])
+ @captions = Invidious::Videos::CaptionMetadata.from_yt_json(info["captions"])
end
return @captions
diff --git a/src/invidious/videos/caption.cr b/src/invidious/videos/caption.cr
index 13f81a31..c85b46c3 100644
--- a/src/invidious/videos/caption.cr
+++ b/src/invidious/videos/caption.cr
@@ -1,7 +1,7 @@
require "json"
module Invidious::Videos
- struct Caption
+ struct CaptionMetadata
property name : String
property language_code : String
property base_url : String
@@ -10,12 +10,12 @@ module Invidious::Videos
end
# Parse the JSON structure from Youtube
- def self.from_yt_json(container : JSON::Any) : Array(Caption)
+ def self.from_yt_json(container : JSON::Any) : Array(CaptionMetadata)
caption_tracks = container
.dig?("playerCaptionsTracklistRenderer", "captionTracks")
.try &.as_a
- captions_list = [] of Caption
+ captions_list = [] of CaptionMetadata
return captions_list if caption_tracks.nil?
caption_tracks.each do |caption|
@@ -25,7 +25,7 @@ module Invidious::Videos
language_code = caption["languageCode"].to_s
base_url = caption["baseUrl"].to_s
- captions_list << Caption.new(name, language_code, base_url)
+ captions_list << CaptionMetadata.new(name, language_code, base_url)
end
return captions_list
diff --git a/src/invidious/views/user/preferences.ecr b/src/invidious/views/user/preferences.ecr
index dfda1434..b1061ee8 100644
--- a/src/invidious/views/user/preferences.ecr
+++ b/src/invidious/views/user/preferences.ecr
@@ -89,7 +89,7 @@
<label for="captions[0]"><%= translate(locale, "preferences_captions_label") %></label>
<% preferences.captions.each_with_index do |caption, index| %>
<select class="pure-u-1-6" name="captions[<%= index %>]" id="captions[<%= index %>]">
- <% Invidious::Videos::Caption::LANGUAGES.each do |option| %>
+ <% Invidious::Videos::CaptionMetadata::LANGUAGES.each do |option| %>
<option value="<%= option %>" <% if preferences.captions[index] == option %> selected <% end %>><%= translate(locale, option.blank? ? "none" : option) %></option>
<% end %>
</select>