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:
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
################################################################################
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)])
if not cnf.has_key("Process-Policy::Options::%s" % (i)):
cnf["Process-Policy::Options::%s" % (i)] = ""
- queue_name = apt_pkg.ParseCommandLine(cnf.Cnf,Arguments,sys.argv)
+ queue_name = apt_pkg.parse_commandline(cnf.Cnf,Arguments,sys.argv)
if len(queue_name) != 1:
print "E: Specify exactly one policy queue"
queue_name = queue_name[0]
- Options = cnf.SubTree("Process-Policy::Options")
+ Options = cnf.subtree("Process-Policy::Options")
if Options["Help"]:
usage()
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
# 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)