mdir: support for multiple directories

Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
This commit is contained in:
Hiltjo Posthuma 2009-11-11 22:06:27 +01:00 committed by Adrian C. (anrxc)
parent 1d0cfd3aed
commit f5b47dca8b
2 changed files with 13 additions and 11 deletions

4
README
View File

@ -220,8 +220,8 @@ vicious.widgets.mboxc
vicious.widgets.mdir
- provides a number of new and unread messages in a Maildir
structure
- takes the full path to the Maildir structure as an argument
structures/directories
- takes a table with full paths to Maildir structures as an argument
- returns 1st value as the count of new messages and 2nd as the
count of "old" messages lacking the Seen flag

View File

@ -15,19 +15,21 @@ module("vicious.mdir")
-- {{{ Maildir widget type
local function worker(format, mdir)
local function worker(format, warg)
-- Initialise counters
local count = { new = 0, cur = 0 }
-- Recursively find new messages
local f = io.popen("find "..mdir.." -type f -wholename '*/new/*'")
for line in f:lines() do count.new = count.new + 1 end
f:close()
for i=1, #warg do
-- Recursively find new messages
local f = io.popen("find "..warg[i].." -type f -wholename '*/new/*'")
for line in f:lines() do count.new = count.new + 1 end
f:close()
-- Recursively find "old" messages lacking the Seen flag
local f = io.popen("find "..mdir.." -type f -regex '.*/cur/.*2,[^S]*$'")
for line in f:lines() do count.cur = count.cur + 1 end
f:close()
-- Recursively find "old" messages lacking the Seen flag
local f = io.popen("find "..warg[i].." -type f -regex '.*/cur/.*2,[^S]*$'")
for line in f:lines() do count.cur = count.cur + 1 end
f:close()
end
return {count.new, count.cur}
end