diff options
author | Adrian C. (anrxc) <anrxc@sysphere.org> | 2009-10-01 12:08:39 +0200 |
---|---|---|
committer | Adrian C. (anrxc) <anrxc@sysphere.org> | 2009-10-01 12:17:30 +0200 |
commit | 3ab8bc0d7deccea61b6c0067b1b35b29b37bbfb9 (patch) | |
tree | 2748d1d8f9a70b4965f7f25255f41c5946540f3b /gmail.lua | |
parent | f2aa010a5076bbed069b283b7355244b1f56f043 (diff) | |
download | vicious-legacy-3ab8bc0d7deccea61b6c0067b1b35b29b37bbfb9.tar.xz |
gmail: count all unread messages
Widget now uses the Gmail unread tag to get a list of all unread
messages, not only the Inbox. The auth argument was removed, and login
information should now be placed directly in the widget (and file made
read-only by user) until a safer storage is introduced.
Diffstat (limited to 'gmail.lua')
-rw-r--r-- | gmail.lua | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -10,22 +10,25 @@ local helpers = require("vicious.helpers") -- }}} --- Gmail: provides count of new and subject of last e-mail in a Gmail inbox +-- Gmail: provides count of new and subject of last e-mail on Gmail module("vicious.gmail") +-- User data +local user = "" -- Todo +local pass = "" -- * find a safer storage + -- {{{ Gmail widget type -local function worker(format, login) +local function worker(format, feed) + local auth = user .. ":" .. pass + local feed = feed or "https://mail.google.com/mail/feed/atom/unread" local mail = { ["{count}"] = "0", ["{subject}"] = "N/A" } - -- Todo: find a safer way to do this - local auth = login[1] .. ":" .. login[2] - -- Get info from the Gmail atom feed - local f = io.popen("curl --connect-timeout 1 -m 3 -fsu "..auth.." https://mail.google.com/mail/feed/atom") + local f = io.popen("curl --connect-timeout 1 -m 3 -fsu "..auth.." "..feed) -- Could be huge don't read it all at once, info we are after is at the top for line in f:lines() do @@ -34,8 +37,8 @@ local function worker(format, login) -- Find subject tags local title = line:match("<title>(.*)</title>") -- If the subject changed then break out of the loop - if title ~= nil and -- Ignore the feed title - title ~= "Gmail - Inbox for "..login[1].."@gmail.com" then + if title ~= nil and -- Todo: find a better way to deal with 1st title + title ~= "Gmail - Label 'unread' for "..user.."@gmail.com" then -- Spam sanitize the subject title = helpers.escape(title) -- Don't abuse the wibox, truncate, then store |