2011-03-06 06:58:58 -05:00
|
|
|
-- Miscellaneous auxiliary functions.
|
|
|
|
|
|
|
|
function form_date(days)
|
|
|
|
_check_required(days, 'number')
|
|
|
|
return os.date("%d-%b-%Y", os.time() - days * 60 * 60 * 24)
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function get_password(prompt)
|
|
|
|
_check_optional(prompt, 'string')
|
|
|
|
|
2012-02-11 16:55:03 -05:00
|
|
|
if prompt ~= nil then
|
2011-03-06 06:58:58 -05:00
|
|
|
io.write(prompt)
|
|
|
|
else
|
|
|
|
io.write('Enter password: ')
|
|
|
|
end
|
|
|
|
ifsys.noecho()
|
|
|
|
local p = io.read()
|
|
|
|
ifsys.echo()
|
|
|
|
|
|
|
|
return p
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function pipe_to(command, data)
|
|
|
|
_check_required(command, 'string')
|
|
|
|
_check_required(data, 'string')
|
|
|
|
|
|
|
|
f = ifsys.popen(command, "w")
|
|
|
|
ifsys.write(f, data)
|
|
|
|
|
|
|
|
return ifsys.pclose(f)
|
|
|
|
end
|
|
|
|
|
|
|
|
function pipe_from(command)
|
|
|
|
_check_required(command, 'string')
|
|
|
|
|
|
|
|
f = ifsys.popen(command, "r")
|
|
|
|
local string = ''
|
2012-02-11 16:55:03 -05:00
|
|
|
while true do
|
2011-03-06 06:58:58 -05:00
|
|
|
s = ifsys.read(f)
|
2012-02-11 16:55:03 -05:00
|
|
|
if s ~= nil then
|
2011-03-06 06:58:58 -05:00
|
|
|
string = string .. s
|
|
|
|
else
|
|
|
|
break
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
return ifsys.pclose(f), string
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2011-07-31 11:59:09 -04:00
|
|
|
function become_daemon(interval, commands, nochdir, noclose)
|
2011-03-06 06:58:58 -05:00
|
|
|
_check_required(interval, 'number')
|
|
|
|
_check_required(commands, 'function')
|
2011-07-31 11:59:09 -04:00
|
|
|
_check_optional(nochdir, 'boolean')
|
|
|
|
_check_optional(noclose, 'boolean')
|
2011-03-06 06:58:58 -05:00
|
|
|
|
2012-02-14 16:13:15 -05:00
|
|
|
if nochdir == nil then nochdir = false end
|
|
|
|
if noclose == nil then noclose = false end
|
2011-07-31 11:59:09 -04:00
|
|
|
ifsys.daemon(nochdir, noclose)
|
2011-03-06 06:58:58 -05:00
|
|
|
repeat
|
|
|
|
pcall(commands)
|
2012-02-11 16:55:03 -05:00
|
|
|
until ifsys.sleep(interval) ~= 0
|
2011-03-06 06:58:58 -05:00
|
|
|
end
|