d = read_name_val(f)
if d != None: q.append(d)
def mycmp(x, y):
- return cmp(x['Time'], y['Time'])
+ rc = cmp(x['Time'], y['Time'])
+ if (rc == 0):
+ return cmp(x['Type'], y['Type'])
+ else:
+ return rc
q.sort(mycmp)
error = None
# else:
self.url = config.ftp_url
- def add(self, file):
+ def add(self, file, type):
# if /dev/null, say bye bye
if self.url == "/dev/null":
return
name = os.path.basename(file)
id = util.uuid()
shutil.copy(file, path.ftp_queue_dir + id)
- self.queue.append({'name': name, 'id': id})
+ self.queue.append({'name': name, 'id': id, 'type': type})
st = os.stat(path.ftp_queue_dir + id)
self.status += "%10d %s\n" % (st.st_size, name)
def flush(self):
def desc(l):
- return "Target: %s/%s\nBuilder: %s\nTime: %d\nRequester: %s\nEND\n" % \
- (self.url, l['name'], config.builder, time.time(),
- self.requester_email)
+ return """Target: %s/%s
+Builder: %s
+Time: %d
+Type: %s
+Requester: %s
+END
+""" % (self.url, l['name'], config.builder, time.time(), l['type'], self.requester_email)
for l in self.queue:
f = open(path.ftp_queue_dir + l['id'] + ".desc", "w")
queue = FTP_Queue()
-def add(f):
- queue.add(f)
+def add(f, type="rpm"):
+ queue.add(f, type)
def flush():
queue.flush()
local = r.tmp_dir + os.path.basename(f)
chroot.run("cat %s; rm -f %s" % (f, f), logfile = local)
ftp.add(local)
-
+
+ def uploadinfo(b):
+ c="arch:SRPMS:%s\n" % b.src_rpm
+ for f in b.files:
+ c=c + "arch:ARCH:%s\n" % os.path.basename(f)
+ c=c + "END\n"
+ return c
+
+ fname = r.tmp_dir + b.src_rpm + ".uploadinfo"
+ f = open(fname, "w")
+ f.write(uploadinfo(b))
+ f.close()
+ ftp.add(fname, "uploadinfo")
+
status.pop()
return res