[Collab-qa-commits] r866 - udd/src

neronus-guest at alioth.debian.org neronus-guest at alioth.debian.org
Fri May 30 12:44:33 UTC 2008


Author: neronus-guest
Date: 2008-05-30 12:44:32 +0000 (Fri, 30 May 2008)
New Revision: 866

Added:
   udd/src/setup-db.sql
Removed:
   udd/src/delete-tables.py
   udd/src/setup-db.py
Modified:
   udd/src/db_manager.py
   udd/src/test.yaml
Log:
* Added configuration option setup->script. This script has to be a file
  containing a sequence of SQL commands setting up the database
* removed delete-tables.py and setup-db.py, as they are merged into db_manager.py



Modified: udd/src/db_manager.py
===================================================================
--- udd/src/db_manager.py	2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/db_manager.py	2008-05-30 12:44:32 UTC (rev 866)
@@ -17,11 +17,14 @@
     c.execute("DROP TABLE " + t)
 
 def setup(conn, config):
+  if 'script' not in config['setup']:
+    raise aux.ConfigException('Script not specified in setup')
+
   c = conn.cursor()
-  c.execute("CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int);")
-  c.execute("CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);")
-  c.execute("CREATE TABLE distr_ids (distr_id serial, name text);")
-  c.execute("CREATE TABLE arch_ids (arch_id serial, name text);")
+  for line in open(config['setup']['script']).readlines():
+    line = line.strip()
+    if line:
+      c.execute(line)
 
   #Setup architecture table
   for arch in config['general']['archs']:

Deleted: udd/src/delete-tables.py
===================================================================
--- udd/src/delete-tables.py	2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/delete-tables.py	2008-05-30 12:44:32 UTC (rev 866)
@@ -1,24 +0,0 @@
-#!/usr/bin/env python
-
-import aux
-import psycopg2
-import sys
-
-def main():
-  if len(sys.argv) < 2:
-    print "Usage: %s <config>" % sys.argv[0]
-    sys.exit(1)
-
-  config = aux.load_config(open(sys.argv[1]).read())
-
-  conn = psycopg2.connect("dbname=" + config['dbname'])
-
-  c = conn.cursor()
-  for table in ('sources', 'pkgs', 'distr_ids', 'arch_ids'):
-    c.execute("DROP TABLE " + table)
-
-  conn.commit()
-  conn.close()
-
-if __name__ == '__main__':
-  main()

Deleted: udd/src/setup-db.py
===================================================================
--- udd/src/setup-db.py	2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/setup-db.py	2008-05-30 12:44:32 UTC (rev 866)
@@ -1,39 +0,0 @@
-#!/usr/bin/env python
-# Last-Modified: <Thu May 29 20:47:58 2008>
-# Starting from an empty database, create the necessary tables
-
-from psycopg2 import connect
-import syck
-import sys
-
-if __name__ == '__main__':
-  if len(sys.argv) < 2:
-    print "Usage: %s <udd config file>" % (sys.argv[0])
-    sys.exit(1)
-
-  # Load configuration
-  config = syck.load(open(sys.argv[1]).read())
-  # Check configuration
-  if not 'dbname' in config:
-    print "dbname not specified in" + sys.argv[1]
-    sys.exit(1)
-  if not 'archs' in config:
-    print 'archs not specified in' + sys.argv[1]
-    sys.exit(1)
-
-  connection = connect("dbname = " + config['dbname'])
-  
-  # Create tables
-  cursor = connection.cursor()
-  cursor.execute("CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int);")
-  cursor.execute("CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);")
-  cursor.execute("CREATE TABLE distr_ids (distr_id serial, name text);")
-  cursor.execute("CREATE TABLE arch_ids (arch_id serial, name text);")
-  # TODO: Add carnivore
-
-  #Setup architecture table
-  for arch in config['archs']:
-    cursor.execute("INSERT INTO arch_ids (name) VALUES ('%s');" % (arch))
-
-  connection.commit()
-

Added: udd/src/setup-db.sql
===================================================================
--- udd/src/setup-db.sql	                        (rev 0)
+++ udd/src/setup-db.sql	2008-05-30 12:44:32 UTC (rev 866)
@@ -0,0 +1,9 @@
+CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, sec_id int);
+CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer int, build_archs int, version text, distr_id int);
+CREATE TABLE distr_ids (distr_id serial, name text);
+CREATE TABLE arch_ids (arch_id serial, name text);
+
+GRANT SELECT ON pkgs TO PUBLIC;
+GRANT SELECT ON sources TO PUBLIC;
+GRANT SELECT ON distr_ids TO PUBLIC;
+GRANT SELECT ON arch_ids TO PUBLIC;

Modified: udd/src/test.yaml
===================================================================
--- udd/src/test.yaml	2008-05-30 11:47:37 UTC (rev 865)
+++ udd/src/test.yaml	2008-05-30 12:44:32 UTC (rev 866)
@@ -17,6 +17,7 @@
 
 setup:
         type: setup
+        script: setup-db.sql
 
 debian-lenny:
   type: packages




More information about the Collab-qa-commits mailing list