X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_policy.py;h=3f237f626b506b5cb929c4fc4ede505530cc748f;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=c23a3cdc24e7a186d46ef2a1d2e097ebd85d5995;hpb=3f2b87f4f4cae93e27c6e1b9fc5ff9dc3577e9d8;p=dak.git diff --git a/dak/process_policy.py b/dak/process_policy.py index c23a3cdc..3f237f62 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,8 +141,8 @@ def main(): if not Options["No-Action"]: try: - Logger = daklog.Logger(cnf, "process-policy") - except CantOpenError, e: + Logger = daklog.Logger("process-policy") + except CantOpenError as e: Logger = None # Find policy queue @@ -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)