]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_upload.py
fill in the changes files tables when moving to a queue
[dak.git] / dak / process_upload.py
index 5f0c63045c4ec45a268fb48b26f4b6f833b947ee..ab9a3197ddc199ebe34a1eed5d5e24b6897ce9ae 100755 (executable)
@@ -283,21 +283,24 @@ def action(u, session):
         u.do_reject(0, pi)
     elif answer == 'A':
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
         u.accept(summary, short_summary, session)
         u.check_override()
+        chg.clean_from_queue()
         session.commit()
         u.remove()
     elif answer == 'P':
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
         package_to_queue(u, summary, short_summary, policyqueue, chg, session)
+        chg.upload_into_db(u, holding.holding_dir)
         session.commit()
         u.remove()
     elif answer == queuekey:
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
         QueueInfo[qu]["process"](u, summary, short_summary, chg, session)
+        chg.upload_into_db(u, holding.holding_dir)
         session.commit()
         u.remove()
     elif answer == 'Q':
@@ -477,11 +480,16 @@ def main():
         sets = "set"
         if summarystats.accept_count > 1:
             sets = "sets"
-        sys.stderr.write("Installed %d package %s, %s.\n" % (summarystats.accept_count, sets,
-                                                             utils.size_type(int(summarystats.accept_bytes))))
+        print "Installed %d package %s, %s." % (summarystats.accept_count, sets,
+                                                utils.size_type(int(summarystats.accept_bytes)))
         Logger.log(["total", summarystats.accept_count, summarystats.accept_bytes])
 
     if not Options["No-Action"]:
+        # Clean out the queue files
+        session = DBConn().session()
+        session.execute("DELETE FROM changes_pending_files WHERE id NOT IN (SELECT file_id FROM changes_pending_files_map )")
+        session.commit()
+
         if log_urgency:
             UrgencyLog().close()
     Logger.close()