]>
Commit | Line | Data |
---|---|---|
c8782384 MM |
1 | import path |
2 | import os | |
3 | ||
4 | from config import config | |
5 | ||
6 | class Buildlogs_Queue: | |
7 | def __init__(self): | |
8 | self.queue = [] | |
9 | self.some_failed = 0 | |
10 | ||
11 | def add(self, logfile, failed): | |
12 | name = os.path.basename(logfile) + ".bz2" | |
13 | os.system("bzip2 --best --force < %s > %s" \ | |
14 | % (logfile, path.buildlogs_queue_dir + name)) | |
15 | self.queue.append({'name': name, 'failed': failed}) | |
16 | ||
17 | def flush(self): | |
18 | def desc(l): | |
19 | if l['failed']: s = "FAIL" | |
20 | elif self.some_failed: s = "OKOF" # OK but Others Failed | |
21 | else: s = "OK" | |
22 | return "Target: %s/%s\nBuilder: %s\nStatus: %s\nEND\n" % \ | |
23 | (config.buildlogs_url, l['name'], config.builder, s) | |
24 | ||
25 | for l in self.queue: | |
26 | f = open(path.buildlogs_queue_dir + l['name'] + ".desc", "w") | |
27 | f.write(desc(l)) | |
28 | f.close() | |
29 | ||
30 | queue = Buildlogs_Queue() | |
b5a39692 | 31 | |
2e33eed1 | 32 | def add(logfile, failed): |
b5a39692 | 33 | "Add new buildlog with specified status." |
c8782384 | 34 | queue.add(logfile, failed) |
b5a39692 | 35 | |
2e33eed1 | 36 | def flush(): |
b5a39692 | 37 | "Send buildlogs to server." |
c8782384 | 38 | queue.flush() |