import re from Mailman import Errors def process(mlist, msg, msgdata): message_text=msg.as_string() recepients = msg.get_all('To') # GNOME rGNOME=re.compile('/bg\\.po') aGnome='svn-commits-list@gnome.org' try: i = recepients.index(aGnome) # To GNOME, so check body if None==rGNOME.search(message_text): # Discard! Does not contain what we want raise Errors.DiscardMessage('GNOME commit - not bg translation') else: # Set our message to approved msgdata['approved'] = True except ValueError: # OK - not GNOME svn pass # KDE rKDE=re.compile('/bg/(doc)?messages') aKDE='kde-commits@kde.org' try: i = recepients.index(aKDE) # To KDE, so check subject if None==rKDE.search(msg.get('subject')): # Discard! Does not contain what we want raise Errors.DiscardMessage('KDE commit - not bg translation') else: # Set our message to approved msgdata['approved'] = True except ValueError: # OK - not KDE svn pass """ Put the handler in the pipeline before Moderate and set msgdata['approved'] = True for those messages you want to accept. f = open("/tmp/AshCommit.log", "a") f.write("\n============================\n") f.write("\nMLIST\n") f.write("mlist.real_name: "+mlist.real_name) f.write("\n") f.write("mlist.internal_name(): "+mlist.internal_name()) f.write("\n") f.write("mlist.GetListEmail(): " + mlist.GetListEmail()) f.write("\n") f.write("mlist.GetRequestEmail(): "+ mlist.GetRequestEmail()) f.write("\nMSGDATA\n") f.write("msgdata.get('sender'): " + msgdata.get('sender', "NONE")) f.write("\n") f.write("msgdata.get('original_sender'): " + msgdata.get('original_sender', "NONE")) f.write("\n") f.write("\nZZZZZ\n") f.write("msgdata.get('origsubj'): " + msgdata.get('origsubj', "NONE")) f.write("\n") f.write("\nMORE \n") # f.write("msgdata.get('tolist'): " + msgdata.get('tolist', "NONE")) f.write("\nMSG\n") f.write("msg.get_sender(): " + msg.get_sender()) f.write("\n") f.write("msg.get('subject'): "+ msg.get('subject', "NONE")) f.write("\n") f.write("msg.get_all('To'): "+ msg.get('To')) recepients = msg.get('To') try: i = recepients.index('dict-notifications@fsa-bg.org') f.write("\nIM AGO dict\n") except ValueError: f.write("\nNIAMA GO dict\n") try: i = recepients.index('DRANDRAN') f.write("\nIM AGO DRANDRAN\n") except ValueError: f.write("\nNIAMA GO DRANDRAN\n") f.write("\n!!!!!!!!!!as_string(False)!!!!!!!!!!!!!!\n") f.write(msg.as_string(False)) f.write("\n@@@@@@@@@@as_string(True)@@@@@@@@@@@@@@\n") f.write(msg.as_string(True)) f.write("\n\n\n\nTEST\n") if None==r1.search(message_text): f.write("\nNo match\n") else: f.write("\nYES MATCH\n") f.close() """