From 15a2cec870fad566a4519dbc12e05c0ddace2140 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 16 Jul 2023 20:59:27 +0200 Subject: core.moduleapi: Improve handling of different types in :get_option_period Pass positive numbers trough unharmed, parse strings as periods, discard anything else. --- core/moduleapi.lua | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'core') diff --git a/core/moduleapi.lua b/core/moduleapi.lua index 66652e09..88dd5b41 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -256,16 +256,16 @@ end function api:get_option_period(name, default_value) local value = self:get_option_scalar(name, default_value); - local num = tonumber(value); - if num then + if type(value) == "number" then -- assume seconds - return num; - end - local ret = human_io.parse_duration(value); - if value ~= nil and ret == nil then - self:log("error", "Config option '%s' not understood, expecting a period", name); + return value; + elseif type(value) == "string" then + local ret = human_io.parse_duration(value); + if value ~= nil and ret == nil then + self:log("error", "Config option '%s' not understood, expecting a period (e.g. \"2 days\")", name); + end + return ret; end - return ret; end function api:get_option_boolean(name, ...) -- cgit v1.2.3