summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFéry Mathieu (Mathius) <ferymathieuy@gmail.com>2022-02-22 01:35:35 +0100
committerFéry Mathieu (Mathius) <ferymathieuy@gmail.com>2022-02-22 01:35:35 +0100
commitfd0ac3a6719b3d6280ce2e784ad370c8d10a6129 (patch)
tree4882a3620734d8c8cc21a4ff35dcf8324b51f4fb
parentf109d812a1d8ea92a4ebdeb7ce03ad93bcbd9a91 (diff)
downloadinvidious-fd0ac3a6719b3d6280ce2e784ad370c8d10a6129.tar.gz
invidious-fd0ac3a6719b3d6280ce2e784ad370c8d10a6129.tar.bz2
invidious-fd0ac3a6719b3d6280ce2e784ad370c8d10a6129.zip
Update management of channel_refresh_interval
Follow indications: https://github.com/iv-org/invidious/pull/2915#discussion_r811373503
-rw-r--r--config/config.example.yml6
-rw-r--r--docker-compose.yml2
-rw-r--r--src/invidious/helpers/utils.cr18
-rw-r--r--src/invidious/user/preferences.cr6
4 files changed, 25 insertions, 7 deletions
diff --git a/config/config.example.yml b/config/config.example.yml
index 9519f34a..a6440e3d 100644
--- a/config/config.example.yml
+++ b/config/config.example.yml
@@ -317,10 +317,10 @@ channel_threads: 1
##
## Time between two jobs for crawling videos from channels
##
-## Accepted values: a valid time interval (hours:min:seconds)
-## Default: 00:30:00
+## Accepted values: a valid time interval (like 1h30m or 90min)
+## Default: 30m
##
-channel_refresh_interval: 00:30:00
+channel_refresh_interval: 30min
##
## Forcefully dump and re-download the entire list of uploaded
diff --git a/docker-compose.yml b/docker-compose.yml
index ab35a496..4fdad921 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -25,7 +25,7 @@ services:
INVIDIOUS_CONFIG: |
log_level: Info
channel_threads: 1
- channel_refresh_interval: 00:30:00
+ channel_refresh_interval: 30m
check_tables: true
feed_threads: 1
db:
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr
index 22575c57..53f64f4e 100644
--- a/src/invidious/helpers/utils.cr
+++ b/src/invidious/helpers/utils.cr
@@ -53,6 +53,24 @@ def recode_length_seconds(time : Int32) : String
end
end
+def decode_interval(string : String) : Time::Span
+ rawMinutes = string.try &.to_i32?
+
+ if !rawMinutes
+ hours = /(?<hours>\d+)h/.match(string).try &.["hours"].try &.to_i32
+ hours ||= 0
+
+ minutes = /(?<minutes>\d+)m(?!s)/.match(string).try &.["minutes"].try &.to_i32
+ minutes ||= 0
+
+ time = Time::Span.new(hours: hours, minutes: minutes)
+ else
+ time = Time::Span.new(minutes: rawMinutes)
+ end
+
+ return time
+end
+
def decode_time(string)
time = string.try &.to_f?
diff --git a/src/invidious/user/preferences.cr b/src/invidious/user/preferences.cr
index c01bdd82..9eeed53f 100644
--- a/src/invidious/user/preferences.cr
+++ b/src/invidious/user/preferences.cr
@@ -259,15 +259,15 @@ struct Preferences
module TimeSpanConverter
def self.to_yaml(value : Time::Span, yaml : YAML::Nodes::Builder)
- return yaml.scalar recode_length_seconds(value.total_seconds.to_i32)
+ return yaml.scalar value.total_minutes.to_i32
end
def self.from_yaml(ctx : YAML::ParseContext, node : YAML::Nodes::Node) : Time::Span
if node.is_a?(YAML::Nodes::Scalar)
- return decode_time_span(node.value)
+ return decode_interval(node.value)
else
node.raise "Expected scalar, not #{node.class}"
end
end
end
-end \ No newline at end of file
+end