From bbc7e107fd01b657f54538c9bc414331bf182ccd Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Sat, 12 Apr 2014 23:53:24 +1000 Subject: [PATCH 1/3] maildir support added --- i3pystatus/mail/maildir.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 i3pystatus/mail/maildir.py diff --git a/i3pystatus/mail/maildir.py b/i3pystatus/mail/maildir.py new file mode 100644 index 0000000..550889e --- /dev/null +++ b/i3pystatus/mail/maildir.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +from i3pystatus.mail import Backend +import subprocess + +class MaildirMail(Backend): + """ + Checks for local mail in Maildir + """ + + settings = ("directory") + required = ("directory") + + @property + def unread(self): + p = subprocess.Popen(['ls','-l',line.strip()+'/new'], stdout=subprocess.PIPE) + stdout, stderr = p.communicate() + stdout=stdout.decode('utf8') + return len(stdout.split('\n'))-2 + +Backend = MaildirMail From e642a2d687305cdcd7a08ac774e153e0e2353a6f Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Sun, 13 Apr 2014 00:17:18 +1000 Subject: [PATCH 2/3] bug fixing...maildir backend working --- i3pystatus/mail/maildir.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/i3pystatus/mail/maildir.py b/i3pystatus/mail/maildir.py index 550889e..29d88c5 100644 --- a/i3pystatus/mail/maildir.py +++ b/i3pystatus/mail/maildir.py @@ -10,12 +10,16 @@ class MaildirMail(Backend): Checks for local mail in Maildir """ - settings = ("directory") - required = ("directory") + settings = ( + "mailbox", + ) + required = ("mailbox",) + + mailbox="" @property def unread(self): - p = subprocess.Popen(['ls','-l',line.strip()+'/new'], stdout=subprocess.PIPE) + p = subprocess.Popen(['ls','-l',self.mailbox+'/new'], stdout=subprocess.PIPE) stdout, stderr = p.communicate() stdout=stdout.decode('utf8') return len(stdout.split('\n'))-2 From ddd4e76bb8309db33610e952fc12df3c2f65ea86 Mon Sep 17 00:00:00 2001 From: Michael Schmidt Date: Sun, 13 Apr 2014 00:25:28 +1000 Subject: [PATCH 3/3] settings changed\n documentation added --- README.rst | 9 +++++++++ i3pystatus/mail/maildir.py | 8 ++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 515ab42..ccb1f7c 100644 --- a/README.rst +++ b/README.rst @@ -492,8 +492,17 @@ Checks for local mail in mbox Settings: +maildir.MaildirMail +~~~~~~~~~~~~~ +Checks for new mail in a Maildir folder + + +Settings: + +:directory: (required, e.g. '/home/foo/mail/INBOX') + notmuchmail.Notmuch ~~~~~~~~~~~~~~~~~~~ diff --git a/i3pystatus/mail/maildir.py b/i3pystatus/mail/maildir.py index 29d88c5..2eaccf7 100644 --- a/i3pystatus/mail/maildir.py +++ b/i3pystatus/mail/maildir.py @@ -11,15 +11,15 @@ class MaildirMail(Backend): """ settings = ( - "mailbox", + "directory", ) - required = ("mailbox",) + required = ("directory",) - mailbox="" + directory="" @property def unread(self): - p = subprocess.Popen(['ls','-l',self.mailbox+'/new'], stdout=subprocess.PIPE) + p = subprocess.Popen(['ls','-l',self.directory+'/new'], stdout=subprocess.PIPE) stdout, stderr = p.communicate() stdout=stdout.decode('utf8') return len(stdout.split('\n'))-2