#!/usr/bin/env python

from email import message_from_string
import getpass
import imaplib
import subprocess
import sys

def main():
    M = imaplib.IMAP4_SSL('imap.gmail.com', 993)

    user = 'zzz@zzz/zzz'
    pw = 'zzz'
    program ='/.../apps/patchwork/bin/parsemail.sh'

    M.login(user, pw)
    M.select('linux-kernel', readonly=True)
    typ, data = M.search(None, 'ALL')

    msg_nums = data[0].split()
    for i, num in enumerate(msg_nums):
        typ, data = M.fetch(num, '(RFC822)')

        print 'Message %s (%d/%d)\n%s\n' % (num, i, len(msg_nums),
                                            len(data[0][1]))

        message = message_from_string(data[0][1])

        if 'List-Id' in message:
            message.replace_header('List-Id', '<linux-kernel.vger.kernel.org>')
        else:
            message.add_header('List-Id', '<linux-kernel.vger.kernel.org>')

        #print message.as_string()

        p = subprocess.Popen([program], stdin=subprocess.PIPE)
        p.communicate(message.as_string())

    M.close()
    M.logout()

if __name__ == '__main__':
    main()
