X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_policy.py;h=94e274687bcd0902f652c91db8756c298f94587d;hb=3f76f67b9d9bf590e2b3d0aac5d015b8d52a6149;hp=c23a3cdc24e7a186d46ef2a1d2e097ebd85d5995;hpb=3f2b87f4f4cae93e27c6e1b9fc5ff9dc3577e9d8;p=dak.git diff --git a/dak/process_policy.py b/dak/process_policy.py index c23a3cdc..94e27468 100755 --- a/dak/process_policy.py +++ b/dak/process_policy.py @@ -54,7 +54,7 @@ def do_comments(dir, srcqueue, opref, npref, line, fn, session): for comm in [ x for x in os.listdir(dir) if x.startswith(opref) ]: lines = open("%s/%s" % (dir, comm)).readlines() if len(lines) == 0 or lines[0] != line + "\n": continue - changes_files = [ x for x in os.listdir(".") if x.startswith(comm[7:]+"_") + changes_files = [ x for x in os.listdir(".") if x.startswith(comm[len(opref):]+"_") and x.endswith(".changes") ] changes_files = sort_changes(changes_files, session) for f in changes_files: @@ -79,9 +79,10 @@ def comment_accept(changes_file, srcqueue, comments, session): if not Options["No-Action"]: destqueue = get_policy_queue('newstage', session) - if changes_to_queue(u, srcqueue, destqueue, session): + if changes_to_queue(u, srcqueue, destqueue, session): + print " ACCEPT" Logger.log(["Policy Queue ACCEPT: %s: %s" % (srcqueue.queue_name, u.pkg.changes_file)]) - else: + else: print "E: Failed to migrate %s" % u.pkg.changes_file ################################################################################ @@ -94,10 +95,19 @@ def comment_reject(changes_file, srcqueue, comments, session): u.rejects.append(comments) + cnf = Config() + bcc = "X-DAK: dak process-policy" + if cnf.has_key("Dinstall::Bcc"): + u.Subst["__BCC__"] = bcc + "\nBcc: %s" % (cnf["Dinstall::Bcc"]) + else: + u.Subst["__BCC__"] = bcc + if not Options["No-Action"]: u.do_reject(manual=0, reject_message='\n'.join(u.rejects)) u.pkg.remove_known_changes(session=session) + session.commit() + print " REJECT" Logger.log(["Policy Queue REJECT: %s: %s" % (srcqueue.queue_name, u.pkg.changes_file)]) @@ -131,7 +141,7 @@ def main(): if not Options["No-Action"]: try: - Logger = daklog.Logger(cnf, "process-policy") + Logger = daklog.Logger("process-policy") except CantOpenError, e: Logger = None @@ -148,6 +158,7 @@ def main(): # The comments stuff relies on being in the right directory os.chdir(pq.path) do_comments(commentsdir, pq, "ACCEPT.", "ACCEPTED.", "OK", comment_accept, session) + do_comments(commentsdir, pq, "ACCEPTED.", "ACCEPTED.", "OK", comment_accept, session) do_comments(commentsdir, pq, "REJECT.", "REJECTED.", "NOTOK", comment_reject, session)