IMAP mailchecker
This commit is contained in:
parent
761034dd01
commit
eb1ce22610
@ -6,32 +6,22 @@ import json
|
|||||||
from datetime import datetime,timedelta
|
from datetime import datetime,timedelta
|
||||||
import imaplib
|
import imaplib
|
||||||
|
|
||||||
from i3pystatus import IntervalModule
|
from i3pystatus.mail import Backend
|
||||||
|
|
||||||
class MailChecker(IntervalModule):
|
class IMAP(Backend):
|
||||||
"""
|
"""
|
||||||
This class handles mailservers and outputs i3status compatible
|
This class handles IMAP mailservers. The mail server
|
||||||
json data for the accumulated unread count. The mail server
|
functionality is implemented in the subclass IMAP.MailServer
|
||||||
functionality is implemented in the subclass MailChecker.MailServer
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
settings = ("color", "servers")
|
settings = required = ("servers",)
|
||||||
required = ("servers",)
|
|
||||||
color = "#ff0000"
|
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
self.server_list = list(map(MailChecker.MailServer, self.servers))
|
self.server_list = list(map(IMAP.MailServer, self.servers))
|
||||||
|
|
||||||
def run(self):
|
@property
|
||||||
unread = sum(map(lambda server: server.get_unread_count(), self.server_list))
|
def unread(self):
|
||||||
|
return sum(map(lambda server: server.get_unread_count(), self.server_list))
|
||||||
if unread:
|
|
||||||
self.output = {
|
|
||||||
"full_text" : "%d new email%s" % (unread, ("s" if unread > 1 else "")),
|
|
||||||
"name" : "newmail",
|
|
||||||
"urgent" : "true",
|
|
||||||
"color" : self.color
|
|
||||||
}
|
|
||||||
|
|
||||||
class MailServer:
|
class MailServer:
|
||||||
"""
|
"""
|
Loading…
Reference in New Issue
Block a user