i3pystatus/notmuchmailchecker.py
2012-10-17 17:30:06 -05:00

41 lines
1.0 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# note that this needs the notmuch python bindings. For more info see:
# http://notmuchmail.org/howto/#index4h2
import notmuch
import json
class NotmuchMailChecker(object):
"""
This class uses the notmuch python bindings to check for the
number of messages in the notmuch database with the tags "inbox"
and "unread"
"""
settings = {
'color': '#ff0000',
'servers': []
}
db_path = ''
def __init__(self, db_path):
self.db_path = db_path
def output(self):
db = notmuch.Database(self.db_path)
unread = notmuch.Query(db, 'tag:unread and tag:inbox').count_messages()
if (unread == 0):
color = '#00FF00'
urgent = 'false'
else:
color = '#ff0000',
urgent = 'true'
return {'full_text' : '%d new email%s' % (unread, ('s' if unread > 1 else '')),
'name' : 'newmail',
'urgent' : urgent,
'color' : color }