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