[Patches] [ python-Patches-466352 ] let mailbox.Maildir tag messages as read
noreply@sourceforge.net
noreply@sourceforge.net
Sat, 29 Sep 2001 04:42:01 -0700
Patches item #466352, was opened at 2001-09-29 04:42
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=466352&group_id=5470
Category: Library (Lib)
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: let mailbox.Maildir tag messages as read
Initial Comment:
http://c0re.jp/c0de/misc/python-maildir2.patch
This patch which changes python's mailbox.Maildir class
to move processed messages form new/ to cur/. Although not
expicity stated in http://cr.yp.to/proto/maildir.html
all applications using Maildirs I'm aware of move messages
form new/ to cur/ after the first reading of a message.
This patch gives you a way to get the same behaviour in python
by giving a third parameter to __init__. See
mailbox.Maildir.__init__.__doc__
--drt@un.bewaff.net - http://c0re.jp/
--- Lib-orig/mailbox.py Sat Sep 29 13:03:12 2001
+++ Lib/mailbox.py Sat Sep 29 13:36:36 2001
@@ -201,11 +201,16 @@
class Maildir:
- # Qmail directory mailbox
+ # qmail/maildrop directory mailbox
+ # see http://cr.yp.to/proto/maildir.html
- def __init__(self, dirname, factory=rfc822.Message):
+ def __init__(self, dirname, factory=rfc822.Message, move=0):
+ '''if you supply the constructor with a third parameter which is
+ not equal 0, this class will mark all messages, you processed with
+ next() as read by moving them from new/ to cur/'''
self.dirname = dirname
self.factory = factory
+ self.move = move
# check for new mail
newdir = os.path.join(self.dirname, 'new')
@@ -225,6 +230,11 @@
fn = self.boxes[0]
del self.boxes[0]
fp = open(fn)
+ if not self.move == 0:
+ # if the message is considered new, mark it as seen
+ (head, tail) = os.path.split(fn)
+ if(head[-3:] == 'new'):
+ os.rename(fn, os.path.join(head[:-3], 'cur', tail + ':2,S'))
return self.factory(fp)
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=466352&group_id=5470