self.email = get("email")
self.buildlogs_url = get("buildlogs_url")
self.ftp_url = get("ftp_url")
+ self.test_ftp_url = get("test_ftp_url")
self.job_slots = int(get("job_slots"))
self.max_load = float(get("max_load"))
self.control_url = get("control_url")
class FTP_Queue:
def __init__(self):
- self.queue = []
+ self.queue = None
self.some_failed = 0
+ def init(self, g):
+ self.queue = []
+ if "test-build" in g.flags:
+ self.url = config.test_ftp_url
+ else:
+ self.url = config.ftp_url
+
def add(self, file):
# if /dev/null, say bye bye
- if config.ftp_url == "/dev/null":
+ if self.url == "/dev/null":
return
name = os.path.basename(file)
id = util.uuid()
def flush(self):
def desc(l):
return "Target: %s/%s\nBuilder: %s\nTime: %d\nRequester: %s\nEND\n" % \
- (config.ftp_url, l['name'], config.builder, time.time(),
+ (self.url, l['name'], config.builder, time.time(),
acl.current_user_login())
for l in self.queue:
def kill():
queue.kill()
+
+def init(r):
+ queue.init(r)
self.priority = 2
self.time = time.time()
self.requester = ""
+ self.flags = string.split(attr(e, "flags", ""))
for c in e.childNodes:
if is_blank(c): continue
if c.nodeType != Element.ELEMENT_NODE:
def dump(self, f):
f.write("group: %d (id=%s pri=%d)\n" % (self.no, self.id, self.priority))
f.write(" from: %s\n" % self.requester)
+ f.write(" flags: %s\n" % string.join(self.flags))
f.write(" time: %s\n" % time.asctime(time.localtime(self.time)))
for b in self.batches:
b.dump(f)
def write_to(self, f):
f.write("""
- <group id="%s" no="%d">
+ <group id="%s" no="%d" flags="%s">
<requester>%s</requester>
<time>%d</time>
- <priority>%d</priority>\n""" % (self.id, self.no,
+ <priority>%d</priority>\n""" % (self.id, self.no, string.join(self.flags),
escape(self.requester), self.time, self.priority))
for b in self.batches:
b.write_to(f)
r.build_all(build_rpm)
+ ftp.init(r)
for b in r.batches:
if not b.build_failed:
for f in b.files:
def send_files(r):
os.mkdir(path.srpms_dir + r.id)
os.chmod(path.srpms_dir + r.id, 0755)
+ ftp.init(r)
for batch in r.batches:
if batch.build_failed: continue
# export files from chroot