#!/usr/bin/python import sys import mailbox import os def error(message): sys.stderr.write(message) sys.exit(1) if len(sys.argv) != 4: error("Usage: %s \n" % os.path.basename(sys.argv[0])) mbox=sys.argv[1] num = 0 out=sys.argv[3] os.path.isfile(mbox) or error("File %s not found.\n" % mbox) try: num=int(sys.argv[2]) except Exception, e: error("Can't convert %s to an int. %s\n" % (sys.argv[2], str(e))) if num <= 0: error("Please supply a positive number.\n") os.path.isdir(out) and error("Directory %s exists. Please remove it.\n" % out) try: os.mkdir(out) except Exception, e: error("Can't create directory %s. %s\n" % (out, str(e))) counter = 0 cur = mailbox.mbox(os.path.join(out, str(counter))) for (key, message) in mailbox.mbox(mbox).items(): if counter == num: counter = 0 cur = mailbox.mbox(os.path.join(out, str(key))) cur.add(message) counter += 1