summaryrefslogtreecommitdiffstats
path: root/py3status/modules/imap.py
diff options
context:
space:
mode:
Diffstat (limited to 'py3status/modules/imap.py')
-rw-r--r--py3status/modules/imap.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/py3status/modules/imap.py b/py3status/modules/imap.py
index d7ce5be..f76f7f9 100644
--- a/py3status/modules/imap.py
+++ b/py3status/modules/imap.py
@@ -1,7 +1,8 @@
# -*- coding: utf8 -*-
"""
Module displaying the number of unread messages
-on an IMAP inbox (configurable).
+on an IMAP inbox (configurable, may also be a
+comma-separated list of IMAP folders).
@author obb
"""
@@ -42,13 +43,20 @@ class Py3status:
def _get_mail_count(self):
try:
+ mail_count = 0
+ directories = self.mailbox.split(',')
connection = imaplib.IMAP4_SSL(self.imap_server, self.port)
connection.login(self.user, self.password)
- connection.select(self.mailbox)
- unseen_response = connection.search(None, self.criterion)
- mails = unseen_response[1][0].split()
- mail_count = len(mails)
+
+ for directory in directories:
+ connection.select(directory)
+ unseen_response = connection.search(None, self.criterion)
+ mails = unseen_response[1][0].split()
+ mail_count += len(mails)
+
+ connection.close()
return mail_count
+
except:
return 'N/A'