]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_policy.py
first get the lockfile, then sync to ftpmaster. and wait longer for it
[dak.git] / dak / process_policy.py
index 16a8810191720f891cec5685b6dd984f0e7ca6e6..e401a3bd630956f1c1397adc8b6d0fbda2297fb5 100755 (executable)
@@ -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
 
 ################################################################################
@@ -106,6 +107,7 @@ def comment_reject(changes_file, srcqueue, comments, session):
         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)])
 
 
@@ -124,7 +126,7 @@ def main():
         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"
@@ -132,15 +134,15 @@ def main():
 
     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
@@ -156,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)