import wrap
import status
from acl import acl
+from blacklist import blacklist
from lock import lock
from bqueue import B_Queue
from config import config, init_conf
+from mailer import Message
def check_double_id(id):
id_nl = id + "\n"
else:
spec = "None.spec"
log.error("%s: %s" % (spec, msg))
- m = user.message_to()
+ m = Message()
+ m.set_headers(to = r.requester_email, cc = config.builder_list)
m.set_headers(subject = "building %s failed" % spec)
m.write_line(msg)
m.send()
lockf.close()
return
+ try:
+ if (user.change_requester and r.requester):
+ user = acl.user_by_login(r.requester)
+ except KeyError:
+ r.requester += '/' + user.get_login()
+ else:
+ r.requester = user.get_login()
+ r.requester_email = user.mail_to()
+
for batch in r.batches:
if not user.can_do("src", config.builder, batch.branch):
% (user.get_login(), pkg, bld, batch.branch))
lockf.close()
return
+ if not "test-build" in r.flags and not user.can_do("ready", bld, batch.branch):
+ fail_mail("user %s is not allowed to send ready builds (ready:%s:%s)" \
+ % (user.get_login(), bld, batch.branch))
+ lockf.close()
+ return
+
+ pkg = batch.spec
+ if pkg.endswith(".spec"):
+ pkg = pkg[:-5]
+ if not "test-build" in r.flags and blacklist.package(pkg):
+ fail_mail("package '%s' is blacklisted, only test-builds allowed" % pkg)
+ lockf.close()
+ return
r.priority = user.check_priority(r.priority,config.builder)
- r.requester = user.get_login()
- r.requester_email = user.mail_to()
r.time = time.time()
log.notice("queued %s from %s" % (r.id, user.get_login()))
q = B_Queue(path.queue_file)
def handle_request_main(req, filename = None):
acl.try_reload()
+ blacklist.try_reload()
init_conf("src")
status.push("handling email request")
ret = handle_request(req, filename = filename)