]>
Commit | Line | Data |
---|---|---|
c8782384 | 1 | import path |
266bcdd3 | 2 | import time |
c8782384 | 3 | import os |
7bf8de49 | 4 | import re |
c8782384 MM |
5 | |
6 | from config import config | |
bdc3292c | 7 | import util |
c8782384 MM |
8 | |
9 | class 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 |
37 | Builder: %s | |
266bcdd3 MM |
38 | Time: %d |
39 | Requester: %s | |
40 | END | |
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 | ||
48 | queue = Buildlogs_Queue() | |
b5a39692 | 49 | |
e2cad913 MM |
50 | def init(r): |
51 | queue.init(r) | |
52 | ||
2e33eed1 | 53 | def add(logfile, failed): |
b5a39692 | 54 | "Add new buildlog with specified status." |
c8782384 | 55 | queue.add(logfile, failed) |
b5a39692 | 56 | |
2e33eed1 | 57 | def flush(): |
b5a39692 | 58 | "Send buildlogs to server." |
c8782384 | 59 | queue.flush() |