1 # vi: encoding=utf-8 ts=8 sts=4 sw=4 et
9 from config import config
12 class Buildlogs_Queue:
16 self.requester_email = None
19 self.requester_email = g.requester_email
21 def add(self, logfile, failed, id):
22 # if /dev/null, don't even bother to store it
23 if config.buildlogs_url == "/dev/null":
25 blogfile = os.path.basename(logfile)
26 name = re.sub(r"\.spec\.log", "", blogfile) + "," + id + ".bz2"
27 ret = os.system("bzip2 --best --force < %s > %s" \
28 % (logfile, path.buildlogs_queue_dir + '/' + config.builder + '.' + id + '.' + blogfile))
30 log.error("bzip2 compression of %s failed; does bzip2 binary exist?" % (logfile))
34 f = open(path.buildlogs_queue_dir + '/' + config.builder + '.' + id + '.' + blogfile + ".info", "w")
35 f.write("Status: %s\nEND\n" % s)
38 self.queue.append({'name': name, 'id': config.builder + '.' + id + '.' + blogfile, 'failed': failed})
42 return """Target: %s/%s
48 """ % (config.buildlogs_url, l['name'], config.builder, time.time(), self.requester_email)
52 f = open(path.buildlogs_queue_dir + '/' + l['id'] + ".desc.tmp", "w")
55 os.rename(path.buildlogs_queue_dir + '/' + l['id'] + ".desc.tmp", path.buildlogs_queue_dir + '/' + l['id'] + ".desc")
58 queue = Buildlogs_Queue()
63 def add(logfile, failed, id):
64 "Add new buildlog with specified status."
65 queue.add(logfile, failed, id)
68 "Send buildlogs to server."