]> TLD Linux GIT Repositories - tld-builder.git/blob - TLD_Builder/notify.py
- more python 3.x fixes
[tld-builder.git] / TLD_Builder / notify.py
1 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
2
3 import sys
4 if sys.version_info[0] == 2:
5     import StringIO
6 else:
7     from io import StringIO
8
9 import mailer
10 import gpg
11 import util
12 import notifyq
13 from config import config
14
15 class Notifier:
16     def __init__(self, g):
17         self.xml = StringIO()
18         self.xml.write("<notification group-id='%s' builder='%s'>\n" % \
19                         (g.id, config.builder))
20
21     def send(self, r):
22         sio = StringIO()
23         self.xml.write("</notification>\n")
24         self.xml.seek(0)
25         sio.write(gpg.sign(self.xml.read()))
26         self.xml = None
27         sio.seek(0)
28         notifyq.init(r)
29         notifyq.add(sio)
30         notifyq.flush()
31
32     def add_batch(self, b, s):
33         self.xml.write("  <batch id='%s' status='%s' />\n" % (b.b_id, s))
34
35 n = None
36
37 def begin(group):
38     global n
39     n = Notifier(group)
40
41 def add_batch(batch, status):
42     n.add_batch(batch, status)
43
44 def send(r):
45     n.send(r)