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

neronus-guest at alioth.debian.org neronus-guest at alioth.debian.org
Sat Aug 9 17:52:28 UTC 2008


Author: neronus-guest
Date: 2008-08-09 17:52:27 +0000 (Sat, 09 Aug 2008)
New Revision: 1038

Modified:
   udd/src/udd/packages_gatherer.py
   udd/src/udd/popcon_gatherer.py
   udd/src/udd/sources_gatherer.py
Log:
Fixed bugs regarding configuration checking and db api 2 quoting


Modified: udd/src/udd/packages_gatherer.py
===================================================================
--- udd/src/udd/packages_gatherer.py	2008-08-09 16:32:42 UTC (rev 1037)
+++ udd/src/udd/packages_gatherer.py	2008-08-09 17:52:27 UTC (rev 1038)
@@ -1,5 +1,5 @@
 # /usr/bin/env python
-# Last-Modified: <Sat 09 Aug 2008 18:30:18 CEST>
+# Last-Modified: <Sat Aug  9 17:28:45 2008>
 # This file is a part of the Ultimate Debian Database project
 
 import debian_bundle.deb822
@@ -129,7 +129,8 @@
     src_cfg = self.config[source]
 
     for k in ['directory', 'archs', 'release', 'components', 'distribution', 'packages-table']:
-      raise ConfigException(k + ' not sepcified for source ' + source)
+      if not k in src_cfg:
+	raise ConfigException(k + ' not sepcified for source ' + source)
 
     aux.debug = self.config['general']['debug']
     table = src_cfg['packages-table']

Modified: udd/src/udd/popcon_gatherer.py
===================================================================
--- udd/src/udd/popcon_gatherer.py	2008-08-09 16:32:42 UTC (rev 1037)
+++ udd/src/udd/popcon_gatherer.py	2008-08-09 17:52:27 UTC (rev 1038)
@@ -25,9 +25,9 @@
       raise
 
     for k in ['path', 'table', 'packages-table']:
-      raise ConfigException(k + ' not specified in ' + source)
+      if k not in my_config:
+	raise aux.ConfigException(k + ' not specified in ' + source)
 
-
     table = my_config['table']
     table_src = table + "_src"
     table_src_average = table + "_src_average"
@@ -46,19 +46,26 @@
     ascii_match = re.compile("^[A-Za-z0-9-.+_]+$")
 
     linenr = 0
+    d = {}
     for line in popcon:
       linenr += 1
       name, data = line.split(None, 1)
       if name == "Submissions:":
-	cur.execute("INSERT INTO %s (package, vote) VALUES ('_submissions', %s)" % (table, data))
+	d['data'] = int(data)
+	cur.execute("INSERT INTO " + table + " (package, vote) VALUES ('_submissions', %(data)s)", d)
+	continue
       try:
 	(name, vote, old, recent, nofiles) = data.split()
+	d['name'] = name
+	for k in ['vote', 'old', 'recent', 'nofiles']:
+	  exec '%s = int(%s)' % (k,k)
+	  exec 'd["%s"] = %s' % (k,k)
+	d['insts'] = vote + old + recent + nofiles
 	if ascii_match.match(name) == None:
 	  print "Skipping line %d of file %s as it contains illegal characters: %s" % (linenr, my_config['path'], line)
 	  continue
-	query = "EXECUTE pop_insert('%s', %s, %s, %s, %s, %s)" %\
-	    (name, int(vote) + int(old) + int(recent) + int(nofiles), vote, old, recent, nofiles)
-	cur.execute(query)
+	query = "EXECUTE pop_insert(%(name)s, %(insts)s, %(vote)s, %(old)s, %(recent)s, %(nofiles)s)"
+	cur.execute(query, d)
       except ValueError:
 	continue
 
@@ -77,7 +84,7 @@
       GROUP BY packages.source;
       """ % my_config)
     for line in cur.fetchall():
-      cur.execute("EXECUTE pop_insert ('%s', %s, %s, %s, %s, %s)" % line)
+      cur.execute("EXECUTE pop_insert (%s, %s, %s, %s, %s, %s)", line)
     cur.execute("DEALLOCATE pop_insert");
     cur.execute("PREPARE pop_insert AS INSERT INTO %s VALUES ($1, $2, $3, $4, $5, $6)" % table_src_average)
     cur.execute("""
@@ -91,7 +98,7 @@
       GROUP BY packages.source;
       """ % my_config)
     for line in cur.fetchall():
-      cur.execute("EXECUTE pop_insert ('%s', %s, %s, %s, %s, %s)" % line)
+      cur.execute("EXECUTE pop_insert (%s, %s, %s, %s, %s, %s)", line)
     cur.execute("DEALLOCATE pop_insert");
 
 if __name__ == '__main__':

Modified: udd/src/udd/sources_gatherer.py
===================================================================
--- udd/src/udd/sources_gatherer.py	2008-08-09 16:32:42 UTC (rev 1037)
+++ udd/src/udd/sources_gatherer.py	2008-08-09 17:52:27 UTC (rev 1038)
@@ -1,5 +1,5 @@
 #/usr/bin/env python
-# Last-Modified: <Sat 09 Aug 2008 18:31:11 CEST>
+# Last-Modified: <Sat Aug  9 17:28:33 2008>
 # This file is a part of the Ultimate Debian Database project
 
 import debian_bundle.deb822
@@ -102,7 +102,8 @@
     src_cfg = self.config[source]
 
     for k in ['directory', 'components', 'distribution', 'release', 'sources-table']:
-      raise ConfigException(k + ' not specified for source ' + source)
+      if not k in src_cfg:
+	raise ConfigException(k + ' not specified for source ' + source)
     
     table = src_cfg['sources-table']
 	




More information about the Collab-qa-commits mailing list