+++ /dev/null
-# vi: encoding=utf-8 ts=8 sts=4 sw=4 et
-
-import path
-import os
-import shutil
-import time
-
-from config import config
-import util
-
-class FTP_Queue:
- def __init__(self):
- self.queue = None
- self.some_failed = 0
- self.status = ""
-
- def init(self, g=None, rpmqa=False):
- self.queue = []
- if rpmqa:
- self.requester_email = config.admin_email
- self.url = config.rpmqa_url
- else:
- self.requester_email = g.requester_email
- if "test-build" in g.flags:
- self.url = config.test_ftp_url
- else:
- self.url = config.ftp_url
-
- 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, '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
-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")
- f.write(desc(l))
- f.close()
-
- def kill(self):
- for l in self.queue:
- os.unlink(path.ftp_queue_dir + '/' + l)
-
-queue = FTP_Queue()
-
-def add(f, type="rpm"):
- queue.add(f, type)
-
-def flush():
- queue.flush()
-
-def kill():
- queue.kill()
-
-def init(r=None, rpmqa=False):
- queue.init(r, rpmqa)
-
-def status():
- return queue.status
-
-def clear_status():
- queue.status = ""