aboutsummaryrefslogtreecommitdiff
path: root/gmail.lua
diff options
context:
space:
mode:
authorAdrian C. (anrxc) <anrxc@sysphere.org>2010-03-14 01:55:33 +0100
committerAdrian C. (anrxc) <anrxc@sysphere.org>2010-03-14 01:55:33 +0100
commit237470c8f45190b213e3a173ce6ae1a74b3e11fe (patch)
tree7f53c8144761947d4bde20715bcad34f4be0d6c0 /gmail.lua
parent9a82d4113a8271b7dfc7506f2b07379e3ede89a8 (diff)
downloadvicious-legacy-237470c8f45190b213e3a173ce6ae1a74b3e11fe.tar.xz
API: transform widgets namespace table to a directory
Diffstat (limited to 'gmail.lua')
-rw-r--r--gmail.lua83
1 files changed, 0 insertions, 83 deletions
diff --git a/gmail.lua b/gmail.lua
deleted file mode 100644
index b4bd081..0000000
--- a/gmail.lua
+++ /dev/null
@@ -1,83 +0,0 @@
----------------------------------------------------
--- Licensed under the GNU General Public License v2
--- * (c) 2010, Adrian C. <anrxc@sysphere.org>
----------------------------------------------------
-
--- {{{ Grab environment
-local type = type
-local tonumber = tonumber
-local io = { popen = io.popen }
-local setmetatable = setmetatable
-local helpers = require("vicious.helpers")
-local string = {
- find = string.find,
- match = string.match
-}
--- }}}
-
-
--- Gmail: provides count of new and subject of last e-mail on Gmail
-module("vicious.gmail")
-
-
--- {{{ Variable definitions
-local rss = {
- inbox = {
- "https://mail.google.com/mail/feed/atom",
- "Gmail %- Inbox"
- },
- unread = {
- "https://mail.google.com/mail/feed/atom/unread",
- "Gmail %- Label"
- },
- --labelname = {
- -- "https://mail.google.com/mail/feed/atom/labelname",
- -- "Gmail %- Label"
- --},
-}
-
--- Default is all unread
-local feed = rss.unread
--- }}}
-
-
--- {{{ Gmail widget type
-local function worker(format, warg)
- local mail = {
- ["{count}"] = 0,
- ["{subject}"] = "N/A"
- }
-
- -- Get info from the Gmail atom feed
- local f = io.popen("curl --connect-timeout 1 -m 3 -fsn " .. feed[1])
-
- -- Could be huge don't read it all at once, info we are after is at the top
- for line in f:lines() do
- mail["{count}"] = -- Count comes before messages and matches at least 0
- tonumber(string.match(line, "<fullcount>([%d]+)</fullcount>")) or mail["{count}"]
-
- -- Find subject tags
- local title = string.match(line, "<title>(.*)</title>")
- -- If the subject changed then break out of the loop
- if title ~= nil and not string.find(title, feed[2]) then
- -- Check if we should scroll, or maybe truncate
- if warg then
- if type(warg) == "table" then
- title = helpers.scroll(title, warg[1], warg[2])
- else
- title = helpers.truncate(title, warg)
- end
- end
-
- -- Spam sanitize the subject and store
- mail["{subject}"] = helpers.escape(title)
- break
- end
- end
- f:close()
-
- return mail
-end
--- }}}
-
-setmetatable(_M, { __call = function(_, ...) return worker(...) end })