]> git.decadent.org.uk Git - dak.git/commitdiff
Port new_security_install to DBConn and friends.
authorChris Lamb <lamby@debian.org>
Tue, 27 Oct 2009 21:58:58 +0000 (21:58 +0000)
committerChris Lamb <lamby@debian.org>
Tue, 27 Oct 2009 21:58:58 +0000 (21:58 +0000)
Signed-off-by: Chris Lamb <lamby@debian.org>
dak/new_security_install.py

index 24e89b923e72e667bf0cf398e4ac5c8ecec1d3d6..3eb19643b0b195db827b7da31f23daaa542719bb 100755 (executable)
@@ -25,7 +25,7 @@ import apt_pkg, os, sys, pwd, time, commands
 from daklib import queue
 from daklib import daklog
 from daklib import utils
-from daklib import database
+from daklib.dbconn import DBConn, get_or_set_queue, get_suite_architectures
 from daklib.regexes import re_taint_free
 
 Cnf = None
@@ -387,7 +387,7 @@ def generate_advisory(template):
                                        ver, suite)
         adv += "%s\n%s\n\n" % (suite_header, "-"*len(suite_header))
 
-        arches = database.get_suite_architectures(suite)
+        arches = [x.arch_name for x in get_suite_architectures(suite)]
         if "source" in arches:
             arches.remove("source")
         if "all" in arches:
@@ -492,9 +492,11 @@ def _do_Disembargo():
     if os.getcwd() != Cnf["Dir::Queue::Embargoed"].rstrip("/"):
         utils.fubar("Can only disembargo from %s" % Cnf["Dir::Queue::Embargoed"])
 
+    session = DBConn().session()
+
     dest = Cnf["Dir::Queue::Unembargoed"]
-    emb_q = database.get_or_set_queue_id("embargoed")
-    une_q = database.get_or_set_queue_id("unembargoed")
+    emb_q = get_or_set_queue("embargoed", session)
+    une_q = get_or_set_queue("unembargoed", session)
 
     for c in changes:
         print "Disembargoing %s" % (c)
@@ -505,7 +507,8 @@ def _do_Disembargo():
 
         if "source" in Upload.pkg.changes["architecture"].keys():
             print "Adding %s %s to disembargo table" % (Upload.pkg.changes["source"], Upload.pkg.changes["version"])
-            Upload.projectB.query("INSERT INTO disembargo (package, version) VALUES ('%s', '%s')" % (Upload.pkg.changes["source"], Upload.pkg.changes["version"]))
+            session.execute("INSERT INTO disembargo (package, version) VALUES (:package, :version)",
+                {'package': Upload.pkg.changes["source"], 'version': Upload.pkg.changes["version"]})
 
         files = {}
         for suite in Upload.pkg.changes["distribution"].keys():
@@ -518,10 +521,10 @@ def _do_Disembargo():
                 files[os.path.join(dest_dir, file)] = 1
 
         files = files.keys()
-        Upload.projectB.query("BEGIN WORK")
         for f in files:
-            Upload.projectB.query("UPDATE queue_build SET queue = %s WHERE filename = '%s' AND queue = %s" % (une_q, f, emb_q))
-        Upload.projectB.query("COMMIT WORK")
+            session.execute("UPDATE queue_build SET queue = :unembargoed WHERE filename = :filename AND queue = :embargoed",
+                {'unembargoed': une_q.queue_id, 'filename': f, 'embargoed': emb_q.queue_id})
+        session.commit()
 
         for file in Upload.pkg.files.keys():
             utils.copy(file, os.path.join(dest, file))
@@ -534,9 +537,14 @@ def _do_Disembargo():
         utils.copy(k, os.path.join(dest, k))
         os.unlink(k)
 
+    session.commit()
+
 def do_Reject(): sudo("R", _do_Reject, True)
 def _do_Reject():
     global changes
+
+    session = DBConn().session()
+
     for c in changes:
         print "Rejecting %s..." % (c)
         Upload.init_vars()
@@ -558,8 +566,8 @@ def _do_Reject():
         if not aborted:
             os.unlink(c[:-8]+".dak")
             for f in files:
-                Upload.projectB.query(
-                    "DELETE FROM queue_build WHERE filename = '%s'" % (f))
+                session.execute("DELETE FROM queue_build WHERE filename = :filename",
+                    {'filename': f})
                 os.unlink(f)
 
     print "Updating buildd information..."
@@ -569,6 +577,8 @@ def _do_Reject():
     if os.path.exists(adv_file):
         os.unlink(adv_file)
 
+    session.commit()
+
 def do_DropAdvisory():
     for c in changes:
         Upload.init_vars()