]> git.decadent.org.uk Git - dak.git/blobdiff - dak/dakdb/update22.py
Convert exception handling to Python3 syntax.
[dak.git] / dak / dakdb / update22.py
index 7234555eda7ea8be18dd6785eccedfdd3929dbc5..81f20037ee0f674dc91ee37d155a9789ecf37a7b 100755 (executable)
@@ -56,9 +56,12 @@ def do_update(self):
 
         print "Adding policy_queue table"
         c.execute("""CREATE TABLE policy_queue (
-                            id          SERIAL PRIMARY KEY,
-                            queue_name  TEXT NOT NULL UNIQUE,
-                            path        TEXT NOT NULL)""")
+                            id           SERIAL PRIMARY KEY,
+                            queue_name   TEXT NOT NULL UNIQUE,
+                            path         TEXT NOT NULL,
+                            perms        CHAR(4) NOT NULL DEFAULT '0660' CHECK (perms SIMILAR TO '^[0-7][0-7][0-7][0-7]$'),
+                            change_perms CHAR(4) NOT NULL DEFAULT '0660' CHECK (change_perms SIMILAR TO '^[0-7][0-7][0-7][0-7]$')
+                            )""")
 
         print "Copying queues"
         queues = {}
@@ -66,7 +69,7 @@ def do_update(self):
 
         for q in c.fetchall():
             queues[q[0]] = q[1]
-            if q[1] in ['accepted', 'buildd']:
+            if q[1] in ['accepted', 'buildd', 'embargoed', 'unembargoed']:
                 # Move to build_queue_table
                 c.execute("""INSERT INTO build_queue (queue_name, path, copy_files)
                                    VALUES ('%s', '%s', '%s')""" % (q[1], q[2], q[3]))
@@ -95,7 +98,7 @@ def do_update(self):
                        ON DELETE CASCADE""")
 
 
-        c.execute("""ALTER TABLE suite DROP CONSTRAINT suite_policy_queue_fkey""")
+        c.execute("""ALTER TABLE suite DROP CONSTRAINT suite_policy_queue_id_fkey""")
 
         c.execute("""UPDATE suite
     SET policy_queue_id = (SELECT policy_queue.id FROM policy_queue
@@ -204,6 +207,9 @@ def do_update(self):
         print "Getting rid of old queue table"
         c.execute("""DROP TABLE queue""")
 
+        print "Sorting out permission columns"
+        c.execute("""UPDATE policy_queue SET perms = '0664' WHERE queue_name IN ('proposedupdates', 'oldproposedupdates')""")
+
         print "Moving known_changes table"
         c.execute("""ALTER TABLE known_changes RENAME TO changes""")
 
@@ -229,6 +235,6 @@ def do_update(self):
         c.execute("UPDATE config SET value = '22' WHERE name = 'db_revision'")
         self.db.commit()
 
-    except psycopg2.InternalError, msg:
+    except psycopg2.InternalError as msg:
         self.db.rollback()
         raise DBUpdateError, "Unable to apply queue_build 21, rollback issued. Error message : %s" % (str(msg))