[Collab-qa-commits] r1977 - in udd: . sql udd

Lucas Nussbaum lucas at alioth.debian.org
Wed Jul 27 18:12:46 UTC 2011


Author: lucas
Date: 2011-07-27 18:12:46 +0000 (Wed, 27 Jul 2011)
New Revision: 1977

Modified:
   udd/config-org.yaml
   udd/sql/setup.sql
   udd/udd/dehs_gatherer.py
Log:
update the dehs importer to use the Mole version

Modified: udd/config-org.yaml
===================================================================
--- udd/config-org.yaml	2011-07-27 17:22:32 UTC (rev 1976)
+++ udd/config-org.yaml	2011-07-27 18:12:46 UTC (rev 1977)
@@ -555,7 +555,7 @@
 
 dehs:
   type: dehs
-  update-command: rm -f /org/udd.debian.org/mirrors/dehs.txt && wget -q http://dehs.alioth.debian.org/udd_dump.txt  -O /org/udd.debian.org/mirrors/dehs.txt
+  update-command: rm -f /org/udd.debian.org/mirrors/dehs.txt && wget -q http://qa.debian.org/cgi-bin/udd-dehs -O /org/udd.debian.org/mirrors/dehs.txt
   path: /org/udd.debian.org/mirrors/dehs.txt
 
 ldap:

Modified: udd/sql/setup.sql
===================================================================
--- udd/sql/setup.sql	2011-07-27 17:22:32 UTC (rev 1976)
+++ udd/sql/setup.sql	2011-07-27 18:12:46 UTC (rev 1977)
@@ -622,7 +622,7 @@
 GRANT SELECT ON active_dds TO PUBLIC;
 
 -- DEHS
-CREATE TYPE dehs_status AS ENUM('error', 'uptodate', 'outdated');
+CREATE TYPE dehs_status AS ENUM('error', 'uptodate', 'outdated', 'newer-in-debian');
 CREATE TABLE dehs (
   source TEXT NOT NULL,
   unstable_version debversion,

Modified: udd/udd/dehs_gatherer.py
===================================================================
--- udd/udd/dehs_gatherer.py	2011-07-27 17:22:32 UTC (rev 1976)
+++ udd/udd/dehs_gatherer.py	2011-07-27 18:12:46 UTC (rev 1977)
@@ -19,6 +19,7 @@
 from aux import quote
 from gatherer import gatherer
 import re
+import yaml
 
 def get_gatherer(connection, config, source):
   return dehs_gatherer(connection, config, source)
@@ -40,29 +41,30 @@
 
     cur.execute("""PREPARE dehs_insert 
       AS INSERT INTO dehs
-      (source, unstable_version, unstable_upstream, unstable_parsed_version, unstable_status, unstable_last_uptodate,
-      experimental_version, experimental_upstream, experimental_parsed_version, experimental_status, experimental_last_uptodate)
-      VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)""")
+      (source, unstable_version, unstable_upstream, unstable_parsed_version, unstable_status)
+      VALUES ($1, $2, $3, $4, $5)""")
 
-    line_number = 0
     entries = []
-    for line in file(my_config['path']):
-      line_number += 1
+    f = open(my_config['path'])
+    pkgs = yaml.load(f)
+    for e in pkgs:
+      if not 'status' in e:
+          ustat = 'error'
+      elif e['status'] == 'up to date':
+          ustat = 'uptodate'
+      elif e['status'] == 'Newer version available':
+          ustat = 'outdated'
+      else:
+          ustat = 'newer-in-debian'
 
-      try:
-        src, uu, eu, uv, ev, upv, epv, u_utd, e_utd, uf, ef, udate, edate = line.rstrip().split('|')
-      except ValueError:
-         print "Error reading "+line
-         continue
-      if udate == "":
-        udate = None
-      if edate == "":
-        edate = None
-      ustat = 'error' if uf == 't' else ('uptodate' if u_utd == 't' else ('outdated' if u_utd == 'f' else None))
-      estat = 'error' if ef == 't' else ('uptodate' if e_utd == 't' else ('outdated' if e_utd == 'f' else None))
-      entries.append((src, uv, uu, upv, ustat, udate, ev, eu, epv, estat, edate))
+      # add empty fields if missing
+      for k in ('debian-uversion', 'upstream-version', 'debian-mangled-uversion'):
+          if not k in e:
+              e[k] = ''
 
-    cur.executemany("EXECUTE dehs_insert (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)", entries)
+      entries.append((e['package'], e['debian-uversion'], e['upstream-version'], e['debian-mangled-uversion'], ustat))
+
+    cur.executemany("EXECUTE dehs_insert (%s, %s, %s, %s, %s)", entries)
     cur.execute("DEALLOCATE dehs_insert")
     cur.execute("ANALYZE dehs")
 




More information about the Collab-qa-commits mailing list