mirror of
https://github.com/iv-org/invidious.git
synced 2025-11-11 09:38:30 -06:00
refactor: add mark_watched_after_duration configuration option to backend
This commit is contained in:
parent
089e0f9a94
commit
9a3735f4f4
@ -52,6 +52,7 @@ struct ConfigPreferences
|
|||||||
property vr_mode : Bool = true
|
property vr_mode : Bool = true
|
||||||
property show_nick : Bool = true
|
property show_nick : Bool = true
|
||||||
property save_player_pos : Bool = false
|
property save_player_pos : Bool = false
|
||||||
|
property mark_watched_after_duration : Bool = false
|
||||||
@[YAML::Field(ignore: true)]
|
@[YAML::Field(ignore: true)]
|
||||||
property default_playlist : String? = nil
|
property default_playlist : String? = nil
|
||||||
|
|
||||||
|
|||||||
@ -82,6 +82,10 @@ module Invidious::Routes::PreferencesRoute
|
|||||||
save_player_pos ||= "off"
|
save_player_pos ||= "off"
|
||||||
save_player_pos = save_player_pos == "on"
|
save_player_pos = save_player_pos == "on"
|
||||||
|
|
||||||
|
mark_watched_after_duration = env.params.body["mark_watched_after_duration"]?.try &.as(String)
|
||||||
|
mark_watched_after_duration ||= "off"
|
||||||
|
mark_watched_after_duration = mark_watched_after_duration == "on"
|
||||||
|
|
||||||
show_nick = env.params.body["show_nick"]?.try &.as(String)
|
show_nick = env.params.body["show_nick"]?.try &.as(String)
|
||||||
show_nick ||= "off"
|
show_nick ||= "off"
|
||||||
show_nick = show_nick == "on"
|
show_nick = show_nick == "on"
|
||||||
@ -182,6 +186,7 @@ module Invidious::Routes::PreferencesRoute
|
|||||||
vr_mode: vr_mode,
|
vr_mode: vr_mode,
|
||||||
show_nick: show_nick,
|
show_nick: show_nick,
|
||||||
save_player_pos: save_player_pos,
|
save_player_pos: save_player_pos,
|
||||||
|
mark_watched_after_duration: mark_watched_after_duration,
|
||||||
default_playlist: default_playlist,
|
default_playlist: default_playlist,
|
||||||
}.to_json)
|
}.to_json)
|
||||||
|
|
||||||
|
|||||||
@ -56,6 +56,7 @@ struct Preferences
|
|||||||
property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc
|
property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc
|
||||||
property volume : Int32 = CONFIG.default_user_preferences.volume
|
property volume : Int32 = CONFIG.default_user_preferences.volume
|
||||||
property save_player_pos : Bool = CONFIG.default_user_preferences.save_player_pos
|
property save_player_pos : Bool = CONFIG.default_user_preferences.save_player_pos
|
||||||
|
property mark_watched_after_duration : Bool = CONFIG.default_user_preferences.mark_watched_after_duration
|
||||||
property default_playlist : String? = nil
|
property default_playlist : String? = nil
|
||||||
|
|
||||||
module BoolToString
|
module BoolToString
|
||||||
|
|||||||
@ -25,6 +25,7 @@ struct VideoPreferences
|
|||||||
property volume : Int32
|
property volume : Int32
|
||||||
property vr_mode : Bool
|
property vr_mode : Bool
|
||||||
property save_player_pos : Bool
|
property save_player_pos : Bool
|
||||||
|
property mark_watched_after_duration : Bool
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_video_params(query, preferences)
|
def process_video_params(query, preferences)
|
||||||
@ -48,6 +49,7 @@ def process_video_params(query, preferences)
|
|||||||
volume = query["volume"]?.try &.to_i?
|
volume = query["volume"]?.try &.to_i?
|
||||||
vr_mode = query["vr_mode"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
vr_mode = query["vr_mode"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||||
save_player_pos = query["save_player_pos"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
save_player_pos = query["save_player_pos"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||||
|
mark_watched_after_duration = query["mark_watched_after_duration"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||||
|
|
||||||
if preferences
|
if preferences
|
||||||
# region ||= preferences.region
|
# region ||= preferences.region
|
||||||
@ -70,6 +72,7 @@ def process_video_params(query, preferences)
|
|||||||
volume ||= preferences.volume
|
volume ||= preferences.volume
|
||||||
vr_mode ||= preferences.vr_mode.to_unsafe
|
vr_mode ||= preferences.vr_mode.to_unsafe
|
||||||
save_player_pos ||= preferences.save_player_pos.to_unsafe
|
save_player_pos ||= preferences.save_player_pos.to_unsafe
|
||||||
|
mark_watched_after_duration ||= preferences.mark_watched_after_duration.to_unsafe
|
||||||
end
|
end
|
||||||
|
|
||||||
annotations ||= CONFIG.default_user_preferences.annotations.to_unsafe
|
annotations ||= CONFIG.default_user_preferences.annotations.to_unsafe
|
||||||
@ -91,6 +94,7 @@ def process_video_params(query, preferences)
|
|||||||
volume ||= CONFIG.default_user_preferences.volume
|
volume ||= CONFIG.default_user_preferences.volume
|
||||||
vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe
|
vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe
|
||||||
save_player_pos ||= CONFIG.default_user_preferences.save_player_pos.to_unsafe
|
save_player_pos ||= CONFIG.default_user_preferences.save_player_pos.to_unsafe
|
||||||
|
mark_watched_after_duration ||= CONFIG.default_user_preferences.mark_watched_after_duration.to_unsafe
|
||||||
|
|
||||||
annotations = annotations == 1
|
annotations = annotations == 1
|
||||||
preload = preload == 1
|
preload = preload == 1
|
||||||
@ -104,6 +108,7 @@ def process_video_params(query, preferences)
|
|||||||
extend_desc = extend_desc == 1
|
extend_desc = extend_desc == 1
|
||||||
vr_mode = vr_mode == 1
|
vr_mode = vr_mode == 1
|
||||||
save_player_pos = save_player_pos == 1
|
save_player_pos = save_player_pos == 1
|
||||||
|
mark_watched_after_duration = mark_watched_after_duration == 1
|
||||||
|
|
||||||
if CONFIG.disabled?("dash") && quality == "dash"
|
if CONFIG.disabled?("dash") && quality == "dash"
|
||||||
quality = "high"
|
quality = "high"
|
||||||
@ -132,30 +137,31 @@ def process_video_params(query, preferences)
|
|||||||
controls = controls >= 1
|
controls = controls >= 1
|
||||||
|
|
||||||
params = VideoPreferences.new({
|
params = VideoPreferences.new({
|
||||||
annotations: annotations,
|
annotations: annotations,
|
||||||
preload: preload,
|
preload: preload,
|
||||||
autoplay: autoplay,
|
autoplay: autoplay,
|
||||||
comments: comments,
|
comments: comments,
|
||||||
continue: continue,
|
continue: continue,
|
||||||
continue_autoplay: continue_autoplay,
|
continue_autoplay: continue_autoplay,
|
||||||
controls: controls,
|
controls: controls,
|
||||||
listen: listen,
|
listen: listen,
|
||||||
local: local,
|
local: local,
|
||||||
player_style: player_style,
|
player_style: player_style,
|
||||||
preferred_captions: preferred_captions,
|
preferred_captions: preferred_captions,
|
||||||
quality: quality,
|
quality: quality,
|
||||||
quality_dash: quality_dash,
|
quality_dash: quality_dash,
|
||||||
raw: raw,
|
raw: raw,
|
||||||
region: region,
|
region: region,
|
||||||
related_videos: related_videos,
|
related_videos: related_videos,
|
||||||
speed: speed,
|
speed: speed,
|
||||||
video_end: video_end,
|
video_end: video_end,
|
||||||
video_loop: video_loop,
|
video_loop: video_loop,
|
||||||
extend_desc: extend_desc,
|
extend_desc: extend_desc,
|
||||||
video_start: video_start,
|
video_start: video_start,
|
||||||
volume: volume,
|
volume: volume,
|
||||||
vr_mode: vr_mode,
|
vr_mode: vr_mode,
|
||||||
save_player_pos: save_player_pos,
|
save_player_pos: save_player_pos,
|
||||||
|
mark_watched_after_duration: mark_watched_after_duration,
|
||||||
})
|
})
|
||||||
|
|
||||||
return params
|
return params
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user