core/moduleapi.lua
changeset 13208 c9ef35fab0b1
parent 13207 aa6c2692a4be
child 13209 0ccd82b965d5
equal deleted inserted replaced
13207:aa6c2692a4be 13208:c9ef35fab0b1
    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, ...)