From c9e89b23532cb954be5e04ab78da94ab9ca9cadb Mon Sep 17 00:00:00 2001 From: diogo Date: Sun, 18 Jul 2021 17:47:24 +0300 Subject: [PATCH] set max_lookback as configurable --- src/invidious.cr | 7 +++---- src/invidious/helpers/helpers.cr | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/invidious.cr b/src/invidious.cr index 9abec64c..fb36ed56 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -67,7 +67,6 @@ SOFTWARE = { } YT_POOL = YoutubeConnectionPool.new(YT_URL, capacity: CONFIG.pool_size, timeout: 2.0, use_quic: CONFIG.use_quic) -MAX_LOOKBACK = 20 # CLI Kemal.config.extra_options do |parser| @@ -2463,9 +2462,9 @@ end next error_json(404, "Playlist does not exist.") end - # includes into the playlist a maximum of 20 videos, before the offset + # includes into the playlist a maximum of CONFIG.max_loopback videos, before the offset if offset > 0 - lookback = offset < MAX_LOOKBACK ? offset : MAX_LOOKBACK + lookback = offset < CONFIG.max_loopback ? offset : CONFIG.max_loopback response = playlist.to_json(offset - lookback, locale) json_response = JSON.parse(response) else @@ -2480,7 +2479,7 @@ end if json_response["videos"].as_a[0]["index"] != offset offset = json_response["videos"].as_a[0]["index"].as_i - lookback = offset < MAX_LOOKBACK ? offset : MAX_LOOKBACK + lookback = offset < CONFIG.max_loopback ? offset : CONFIG.max_loopback response = playlist.to_json(offset - lookback, locale) json_response = JSON.parse(response) end diff --git a/src/invidious/helpers/helpers.cr b/src/invidious/helpers/helpers.cr index 99d7f440..d0556cdc 100644 --- a/src/invidious/helpers/helpers.cr +++ b/src/invidious/helpers/helpers.cr @@ -73,6 +73,7 @@ class Config property output : String = "STDOUT" # Log file path or STDOUT property log_level : LogLevel = LogLevel::Info # Default log level, valid YAML values are ints and strings, see src/invidious/helpers/logger.cr property db : DBConfig? = nil # Database configuration with separate parameters (username, hostname, etc) + property max_loopback : Int32 = 100 # Maximum videos to be loaded into the playlist before the video playing @[YAML::Field(converter: Preferences::URIConverter)] property database_url : URI = URI.parse("") # Database configuration using 12-Factor "Database URL" syntax