]> git.decadent.org.uk Git - dak.git/blobdiff - dak/dakdb/update28.py
Convert exception handling to Python3 syntax.
[dak.git] / dak / dakdb / update28.py
index 19c354a7d9fff23b9a6b0b373983f0d8158a149a..c899831ca527784008d29a6ddaf7051e54a9608c 100755 (executable)
@@ -31,6 +31,8 @@ keep contents of binary packages in tables so we can generate contents.gz files
 import psycopg2
 import time
 from daklib.dak_exceptions import DBUpdateError
+from daklib.config import Config
+import string
 
 ################################################################################
 
@@ -38,11 +40,7 @@ def _suites():
     """
     return a list of suites to operate on
     """
-    if Config().has_key( "%s::%s" %(options_prefix,"Suite")):
-        suites = utils.split_args(Config()[ "%s::%s" %(options_prefix,"Suite")])
-    else:
-        suites = Config().SubTree("Suite").List()
-
+    suites = Config().SubTree("Suite").List()
     return suites
 
 def arches(cursor, suite):
@@ -53,7 +51,7 @@ def arches(cursor, suite):
     cursor.execute("""SELECT s.architecture, a.arch_string
     FROM suite_architectures s
     JOIN architecture a ON (s.architecture=a.id)
-    WHERE suite = :suite""", {'suite' : suite })
+    WHERE suite = '%s'""" % suite)
 
     while True:
         r = cursor.fetchone()
@@ -144,16 +142,21 @@ def do_update(self):
         suites = _suites()
 
         for suite in [i.lower() for i in suites]:
-            suite_id = DBConn().get_suite_id(suite)
+
+            c.execute("SELECT id FROM suite WHERE suite_name ='%s'" % suite )
+            suiterow = c.fetchone()
+            suite_id = suiterow[0]
             arch_list = arches(c, suite_id)
             arch_list = arches(c, suite_id)
+            suitestr=string.replace(suite,'-','_');
 
             for (arch_id,arch_str) in arch_list:
-                c.execute( "CREATE INDEX ind_deb_contents_%s_%s ON deb_contents (arch,suite) WHERE (arch=2 OR arch=%d) AND suite=$d"%(arch_str,suite,arch_id,suite_id) )
+                arch_str = string.replace(arch_str,"-", "_")
+                c.execute( "CREATE INDEX ind_deb_contents_%s_%s ON deb_contents (arch,suite) WHERE (arch=2 OR arch=%s) AND suite='%s'"%(arch_str,suitestr,arch_id,suite_id) )
 
             for section, sname in [("debian-installer","main"),
                                   ("non-free/debian-installer", "nonfree")]:
-                c.execute( "CREATE INDEX ind_udeb_contents_%s_%s ON udeb_contents (section,suite) WHERE section=%s AND suite=$d"%(sname,suite,section,suite_id) )
+                c.execute( "CREATE INDEX ind_udeb_contents_%s_%s ON udeb_contents (section,suite) WHERE section='%s' AND suite='%s'"%(sname,suitestr,section,suite_id) )
 
 
         c.execute( """CREATE OR REPLACE FUNCTION update_contents_for_bin_a() RETURNS trigger AS  $$
@@ -262,7 +265,7 @@ $$ LANGUAGE plpythonu VOLATILE;""")
 
         self.db.commit()
 
-    except psycopg2.ProgrammingError, msg:
+    except psycopg2.ProgrammingError as msg:
         self.db.rollback()
         raise DBUpdateError, "Unable to apply process-new update 28, rollback issued. Error message : %s" % (str(msg))