19 local time_now = require "prosody.util.time".now; |
19 local time_now = require "prosody.util.time".now; |
20 local format = require "prosody.util.format".format; |
20 local format = require "prosody.util.format".format; |
21 local jid_node = require "prosody.util.jid".node; |
21 local jid_node = require "prosody.util.jid".node; |
22 local jid_split = require "prosody.util.jid".split; |
22 local jid_split = require "prosody.util.jid".split; |
23 local jid_resource = require "prosody.util.jid".resource; |
23 local jid_resource = require "prosody.util.jid".resource; |
|
24 local human_io = require "prosody.util.human.io"; |
24 |
25 |
25 local t_insert, t_remove, t_concat = table.insert, table.remove, table.concat; |
26 local t_insert, t_remove, t_concat = table.insert, table.remove, table.concat; |
26 local error, setmetatable, type = error, setmetatable, type; |
27 local error, setmetatable, type = error, setmetatable, type; |
27 local ipairs, pairs, select = ipairs, pairs, select; |
28 local ipairs, pairs, select = ipairs, pairs, select; |
28 local tonumber, tostring = tonumber, tostring; |
29 local tonumber, tostring = tonumber, tostring; |
247 return min; |
248 return min; |
248 end |
249 end |
249 if max and ret > max then |
250 if max and ret > max then |
250 self:log("warn", "Config option '%s' out of bounds %g > %g", name, ret, max); |
251 self:log("warn", "Config option '%s' out of bounds %g > %g", name, ret, max); |
251 return max; |
252 return max; |
|
253 end |
|
254 return ret; |
|
255 end |
|
256 |
|
257 function api:get_option_period(name, default_value) |
|
258 local value = self:get_option_scalar(name, default_value); |
|
259 local num = tonumber(value); |
|
260 if num then |
|
261 -- assume seconds |
|
262 return num; |
|
263 end |
|
264 local ret = human_io.parse_duration(value); |
|
265 if value ~= nil and ret == nil then |
|
266 self:log("error", "Config option '%s' not understood, expecting a period", name); |
252 end |
267 end |
253 return ret; |
268 return ret; |
254 end |
269 end |
255 |
270 |
256 function api:get_option_boolean(name, ...) |
271 function api:get_option_boolean(name, ...) |