#! /usr/bin/env python import os homedir = os.environ['HOME'] mlists = open(homedir + os.sep + '.mlists', "r") import tempfile files = {} for i in ("proc", "list", "alias"): files[i] = tempfile.NamedTemporaryFile(dir=homedir) # Write a comment to the new .procmailrc files["proc"].write("# Autogenerated by mkmlists from $HOME/.mlists\n") import string import subprocess line = mlists.readline() while line != '': # Chop leading and trailing whitespace line = string.strip(line) # Split into whitespace-separated fields fields = string.split(line) extension = fields[0] folder = fields[1] addresses = fields[2:] # TODO: rewrite mkmd as a python function retcode = subprocess.call(["mkmd", folder]) # TODO: check retcode procline = "\n:0\n* ? test \"$EXTENSION\" = \"%s\"\n%s/\n" % (extension, folder) files["proc"].write(procline) if len(addresses) > 0: files["alias"].write("alias %s %s\n" % (extension, addresses[0])) for addy in addresses: files["list"].write("subscribe %s\n" % addy) line = mlists.readline() for (i, fn) in (("proc", (".procmailrc.mlists",)), ("list", (".mutt", "lists")), ("alias", (".mutt", "aliases.lists"))): filename = string.join(fn, os.sep) os.unlink(filename) os.link(files[i].name, string.join(fn, os.sep)) # TODO: Make this into a python function that runs quickly os.system("mailboxes &")