Comparison

core/moduleapi.lua @ 13206:7435a9341bb3

core.moduleapi: Turn negative periods or "never" into infinity As a way to signal that the periodic thing should be disabled, matching existing mod_mam usage
author Kim Alvefur <zash@zash.se>
date Sun, 16 Jul 2023 21:01:31 +0200
parent 13205:0ccd82b965d5
child 13207:c563da1694bf
comparison
equal deleted inserted replaced
13205:0ccd82b965d5 13206:7435a9341bb3
255 end 255 end
256 256
257 function api:get_option_period(name, default_value) 257 function api:get_option_period(name, default_value)
258 local value = self:get_option_scalar(name, default_value); 258 local value = self:get_option_scalar(name, default_value);
259 if type(value) == "number" then 259 if type(value) == "number" then
260 if value < 0 then
261 self:log("debug", "Treating negative period as infinity");
262 return math.huge;
263 end
260 -- assume seconds 264 -- assume seconds
261 return value; 265 return value;
266 elseif value == "never" then
267 -- usually for disabling some periodic thing
268 return math.huge;
262 elseif type(value) == "string" then 269 elseif type(value) == "string" then
263 local ret = human_io.parse_duration(value); 270 local ret = human_io.parse_duration(value);
264 if value ~= nil and ret == nil then 271 if value ~= nil and ret == nil then
265 self:log("error", "Config option '%s' not understood, expecting a period (e.g. \"2 days\")", name); 272 self:log("error", "Config option '%s' not understood, expecting a period (e.g. \"2 days\")", name);
266 end 273 end