aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2009-11-11 22:06:27 +0100
committerAdrian C. (anrxc) <anrxc@sysphere.org>2009-11-12 01:40:16 +0100
commitf5b47dca8b5bb915f6e6dc17ea5852d099609889 (patch)
tree736dc6814212b411055f349993eb3f539ed2cce6
parent1d0cfd3aeded65ded10b7ab3163488c3dc1d4383 (diff)
downloadvicious-legacy-f5b47dca8b5bb915f6e6dc17ea5852d099609889.tar.xz
mdir: support for multiple directories
Signed-off-by: Adrian C. (anrxc) <anrxc@sysphere.org>
-rw-r--r--README4
-rw-r--r--mdir.lua22
2 files changed, 14 insertions, 12 deletions
diff --git a/README b/README
index 4fff7bd..3af7492 100644
--- a/README
+++ b/README
@@ -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
diff --git a/mdir.lua b/mdir.lua
index 1d8a444..f0d9b94 100644
--- a/mdir.lua
+++ b/mdir.lua
@@ -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()
-
- -- 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()
+ 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 "..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