#!/home/crew/mwh/bin/python2.4 import sys import email import os import rfc822 from cStringIO import StringIO msg = email.message_from_file(sys.stdin) #print msg body = msg.get_payload(decode=False) while isinstance(body, list): body = body[0].get_payload() m = rfc822.Message(StringIO(body)) author = m['Author'] new_rev = m['New Revision'] bd_lines = m.fp.readlines() in_message = False sep = '==========================================================================' end = '__________________________________________' log_msg = [] for line in bd_lines: if line.startswith('Log:'): in_message = True continue if in_message: line = line.strip() if line.startswith(sep): del log_msg[-1] break elif line.startswith(end): break if line: log_msg.append(line) log = ' '.join(log_msg).strip() msg = """%s - r%s - %s\n""" to_send = msg % (author, new_rev, log[:200]) if os.environ.get("TESTING"): print to_send else: import socket as sk s = sk.socket(sk.SOCK_STREAM, sk.AF_UNIX) s.connect('/home/crew/mwh/elbowtonesock') s.sendall(to_send) s.sendall('\n') s.close()