]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - PLD_Builder/buildlogs.py
- install vim
[projects/pld-builder.new.git] / PLD_Builder / buildlogs.py
CommitLineData
c8782384 1import path
266bcdd3 2import time
c8782384 3import os
7bf8de49 4import re
c8782384
MM
5
6from config import config
bdc3292c 7import util
c8782384
MM
8
9class Buildlogs_Queue:
10 def __init__(self):
11 self.queue = []
12 self.some_failed = 0
13
e2cad913
MM
14 def init(self, g):
15 self.requester_email = g.requester_email
16
c8782384 17 def add(self, logfile, failed):
e09a8cd8
MM
18 # if /dev/null, don't even bother to store it
19 if config.buildlogs_url == "/dev/null":
20 return
30ed4ed7 21 name = re.sub(r"\.spec\.log", "", os.path.basename(logfile)) + ".bz2"
bdc3292c 22 id = util.uuid()
c8782384 23 os.system("bzip2 --best --force < %s > %s" \
bdc3292c 24 % (logfile, path.buildlogs_queue_dir + id))
59ce7cd6 25
9a8908ac 26 if failed: s = "FAIL"
59ce7cd6
MM
27 else: s = "OK"
28 f = open(path.buildlogs_queue_dir + id + ".info", "w")
29 f.write("Status: %s\nEND\n" % s)
30 f.close()
31
bdc3292c 32 self.queue.append({'name': name, 'id': id, 'failed': failed})
c8782384
MM
33
34 def flush(self):
35 def desc(l):
266bcdd3
MM
36 return """Target: %s/%s
37Builder: %s
266bcdd3
MM
38Time: %d
39Requester: %s
40END
e2cad913 41""" % (config.buildlogs_url, l['name'], config.builder, time.time(), self.requester_email)
c8782384
MM
42
43 for l in self.queue:
bdc3292c 44 f = open(path.buildlogs_queue_dir + l['id'] + ".desc", "w")
c8782384
MM
45 f.write(desc(l))
46 f.close()
47
48queue = Buildlogs_Queue()
b5a39692 49
e2cad913
MM
50def init(r):
51 queue.init(r)
52
2e33eed1 53def add(logfile, failed):
b5a39692 54 "Add new buildlog with specified status."
c8782384 55 queue.add(logfile, failed)
b5a39692 56
2e33eed1 57def flush():
b5a39692 58 "Send buildlogs to server."
c8782384 59 queue.flush()
This page took 0.032933 seconds and 4 git commands to generate.