imapfilter/src/auxiliary.lua

66 lines
1.3 KiB
Lua
Raw Normal View History

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')
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 = ''
while true do
2011-03-06 06:58:58 -05:00
s = ifsys.read(f)
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
function become_daemon(interval, commands, nochdir, noclose)
2011-03-06 06:58:58 -05:00
_check_required(interval, 'number')
_check_required(commands, 'function')
_check_optional(nochdir, 'boolean')
_check_optional(noclose, 'boolean')
2011-03-06 06:58:58 -05:00
if nochdir == nil then nochdir = false end
if noclose == nil then noclose = false end
ifsys.daemon(nochdir, noclose)
2011-03-06 06:58:58 -05:00
repeat
commands()
until ifsys.sleep(interval) ~= 0
2011-03-06 06:58:58 -05:00
end