GNOME на български!

Относно проекта · Дневници · Планета · Доклади за грешки · Отметки · Контакти


 

root/scripts/AshCommit.py

Revision 1603, 3.0 kB (checked in by ash, 4 months ago)

AshCommit?.py: модул за обработка на входящи съобщения на mailman

Line 
1 import re
2 from Mailman import Errors
3
4 def process(mlist, msg, msgdata):
5
6     message_text=msg.as_string()
7     recepients = msg.get_all('To')
8
9     # GNOME
10     rGNOME=re.compile('/bg\\.po')
11     aGnome='svn-commits-list@gnome.org'
12
13     try:
14         i = recepients.index(aGnome)
15         # To GNOME, so check body
16         if None==rGNOME.search(message_text):
17             # Discard! Does not contain what we want
18             raise Errors.DiscardMessage('GNOME commit - not bg translation')
19         else:
20             # Set our message to approved
21             msgdata['approved'] = True
22     except ValueError:
23         # OK - not GNOME svn
24         pass
25
26     # KDE
27     rKDE=re.compile('/bg/(doc)?messages')
28     aKDE='kde-commits@kde.org'
29    
30     try:
31         i = recepients.index(aKDE)
32         # To KDE, so check subject
33         if None==rKDE.search(msg.get('subject')):
34             # Discard! Does not contain what we want
35             raise Errors.DiscardMessage('KDE commit - not bg translation')
36         else:
37             # Set our message to approved
38             msgdata['approved'] = True
39     except ValueError:
40         # OK - not KDE svn
41         pass
42
43
44 """
45
46 Put the handler in the pipeline before Moderate and set
47
48     msgdata['approved'] = True
49
50 for those messages you want to accept.
51
52
53     f = open("/tmp/AshCommit.log", "a")
54
55     f.write("\n============================\n")
56  
57     f.write("\nMLIST\n")
58     f.write("mlist.real_name: "+mlist.real_name)
59     f.write("\n")
60     f.write("mlist.internal_name(): "+mlist.internal_name())
61     f.write("\n")
62     f.write("mlist.GetListEmail(): " + mlist.GetListEmail())
63     f.write("\n")
64     f.write("mlist.GetRequestEmail(): "+ mlist.GetRequestEmail())
65
66     f.write("\nMSGDATA\n")
67     f.write("msgdata.get('sender'): " + msgdata.get('sender', "NONE"))
68     f.write("\n")
69     f.write("msgdata.get('original_sender'): " + msgdata.get('original_sender', "NONE"))
70     f.write("\n")
71     f.write("\nZZZZZ\n")
72     f.write("msgdata.get('origsubj'): " + msgdata.get('origsubj', "NONE"))
73     f.write("\n")
74     f.write("\nMORE \n")
75 #    f.write("msgdata.get('tolist'): " + msgdata.get('tolist', "NONE"))
76
77     f.write("\nMSG\n")
78     f.write("msg.get_sender(): " + msg.get_sender())
79     f.write("\n")
80     f.write("msg.get('subject'): "+ msg.get('subject', "NONE"))
81     f.write("\n")
82     f.write("msg.get_all('To'): "+ msg.get('To'))
83     recepients = msg.get('To')
84     try:
85         i = recepients.index('dict-notifications@fsa-bg.org')
86         f.write("\nIM AGO dict\n")
87     except ValueError:
88         f.write("\nNIAMA GO dict\n")
89
90     try:
91         i = recepients.index('DRANDRAN')
92         f.write("\nIM AGO DRANDRAN\n")
93     except ValueError:
94         f.write("\nNIAMA GO DRANDRAN\n")
95
96
97     f.write("\n!!!!!!!!!!as_string(False)!!!!!!!!!!!!!!\n")
98     f.write(msg.as_string(False))
99     f.write("\n@@@@@@@@@@as_string(True)@@@@@@@@@@@@@@\n")
100     f.write(msg.as_string(True))
101
102
103     f.write("\n\n\n\nTEST\n")
104     if None==r1.search(message_text):
105         f.write("\nNo match\n")
106     else:
107         f.write("\nYES MATCH\n")
108
109
110     f.close()
111 """
Note: See TracBrowser for help on using the browser.