X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/bda8338eb8f1274f9a1dec73bdb47f80cfe9413f..5950d5c4e05d47338e97a80dfa0909bf9c870ee5:/bin/process-tickler diff --git a/bin/process-tickler b/bin/process-tickler deleted file mode 100755 index 0c3839f..0000000 --- a/bin/process-tickler +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/python2.5 -# -*- coding: utf-8 -*- -# -# process-tickler – process message in tickler maildir -# -# Copyright © martin f. krafft -# Released under the terms of the Artistic Licence 2.0 -# - -import mailbox -import os -import sys -import time - -HOME = os.getenv('HOME') -MAILDIR = os.path.join(HOME, '.maildir') -TICKLER_DIR = os.path.join(MAILDIR, '.tickler') -INBOX_DIR = MAILDIR - -tmd = mailbox.Maildir(TICKLER_DIR) -imd = mailbox.Maildir(INBOX_DIR) -msgids = dict() - -def move_to_inbox(key): - msg = tmd.get_message(key) - print >>sys.stdout, 'I: move message %s to inbox' % key - msg.add_header('X-Tickle-Delivered', time.strftime('%c')) - imd.add(msg) - tmd.discard(key) - -for key, msg in tmd.iteritems(): - msgid = msg.get('Message-Id') - if msgid is None: - print >>sys.stderr, 'W: message without ID: ' + key - move_to_inbox(key) - - tickle = msg.get('X-Tickle') - if tickle is None: - print >>sys.stderr, 'W: message without tickle information: ' + key - move_to_inbox(key) - - if msgids.get(msgid, None) is None: - msgids[msgid] = list() - msgids[msgid].append((int(tickle.split(' ', 1)[0]), key, msg)) - -for msgid, msgs in msgids.iteritems(): - msgs.sort() - prev_tickle = None - for tickle, key, msg in msgs: - if tickle == prev_tickle: - print >>sys.stderr, 'I: discarding duplicate %s of message %s' % (key, msgid) - tmd.discard(key) - continue - prev_tickle = tickle - - t = time.time() - if t >= tickle: - move_to_inbox(key) - else: - print >>sys.stdout, 'I: message %s still has %d seconds' % (key, - int(tickle - t))