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

neronus-guest at alioth.debian.org neronus-guest at alioth.debian.org
Tue Jun 17 11:27:02 UTC 2008


Author: neronus-guest
Date: 2008-06-17 11:27:01 +0000 (Tue, 17 Jun 2008)
New Revision: 892

Modified:
   udd/src/packages_gatherer.py
   udd/src/setup-db.sql
Log:

Split of Source into Source_Version and Source


Modified: udd/src/packages_gatherer.py
===================================================================
--- udd/src/packages_gatherer.py	2008-06-17 10:36:13 UTC (rev 891)
+++ udd/src/packages_gatherer.py	2008-06-17 11:27:01 UTC (rev 892)
@@ -1,5 +1,5 @@
 #/usr/bin/env python
-# Last-Modified: <Sun Jun 15 13:16:19 2008>
+# Last-Modified: <Tue Jun 17 10:58:01 2008>
 
 import debian_bundle.deb822
 import gzip
@@ -26,9 +26,12 @@
     'Enhances', 'Pre-Depends', 'Installed-Size', 'Homepage', 'Size', 'MD5Sum')
 ignorable = ()
 
+def quote(s):
+  return "'" + s.replace("'", "\\'") + "'"
+
 def null_or_quote(dict, key):
   if key in dict:
-    return "'" + dict[key].replace("'", "\\'") + "'"
+    return quote(dict[key])
   else:
     return 'NULL'
 
@@ -73,33 +76,37 @@
 
     d = build_dict(control)
 
-#    if 'Source' not in control:
-#      d['Source'] = d['Package']
-#      d['Source_Version'] = d['Version']
-#    else:
-#      split = control['Source'].split()
-#      d['Source'] = split[0]
-#      if len(split) > 1:
-#	d['Source_Version'] = split[1].strip('()')
-#      else:
-#	d['Source_Version'] = d['Version']
-
+    # These are integer values - we don't need quotes for them
     if d['Installed-Size'] != 'NULL':
       d['Installed-Size'] = d['Installed-Size'].strip("'")
     if d['Size'] != 'NULL':
       d['Size'] = d['Size'].strip("'")
 
+    # We just use the first line of the description
     if d['Description'] != "NULL":
       d['Description'] = d['Description'].split("\n")[0]
       # This problem appears, if the description was a one-liner
       if d['Description'][-1] != "'" or d['Description'][-2] == '\\':
 	d['Description'] += "'"
+    
+    # Source is non-mandatory
+    if d['Source'] == "NULL":
+      d['Source'] = d['Package']
+      d['Source_Version'] = d['Version']
+    else:
+      split = d['Source'].strip("'").split()
+      if len(split) == 1:
+	d['Source_Version'] = d['Version']
+      else:
+	d['Source'] = quote(split[0])
+	d['Source_Version'] = quote(split[1].strip("()"))
 
     query = """EXECUTE package_insert
 	(%(Package)s, %(Version)s, %(Architecture)s, %(Maintainer)s,
-	  %(Description)s, %(Source)s, %(Essential)s, %(Depends)s,
-	  %(Recommends)s, %(Suggests)s, %(Enhances)s, %(Pre-Depends)s,
-	  %(Installed-Size)s, %(Homepage)s, %(Size)s, %(MD5Sum)s)""" % d
+	%(Description)s, %(Source)s, %(Source_Version)s, %(Essential)s,
+	%(Depends)s, %(Recommends)s, %(Suggests)s, %(Enhances)s,
+	%(Pre-Depends)s, %(Installed-Size)s, %(Homepage)s, %(Size)s,
+	%(MD5Sum)s)""" % d
     try:
       cur.execute(query)
     except psycopg2.ProgrammingError:
@@ -164,12 +171,13 @@
       path = os.path.join(src_cfg['directory'], comp, 'binary-' + arch, 'Packages.gz')
       try:
 	cur.execute("""PREPARE package_insert AS INSERT INTO Packages
-	  (Package, Version, Architecture, Maintainer, Description, Source, Essential,
-	  Depends, Recommends, Suggests, Enhances, Pre_Depends, Installed_Size,
-	  Homepage, Size, MD5Sum, Distribution, Release, Component)
+	  (Package, Version, Architecture, Maintainer, Description, Source,
+	  Source_Version, Essential, Depends, Recommends, Suggests, Enhances,
+	  Pre_Depends, Installed_Size, Homepage, Size, MD5Sum, Distribution,
+	  Release, Component)
 	VALUES
 	  ( $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15,
-	    $16, '%s', '%s', '%s')
+	    $16, $17, '%s', '%s', '%s')
 	  """ %  (distr, src_cfg['release'], comp))
 	aux.print_debug("Reading file " + path)
 	# Copy content from gzipped file to temporary file, so that apt_pkg is

Modified: udd/src/setup-db.sql
===================================================================
--- udd/src/setup-db.sql	2008-06-17 10:36:13 UTC (rev 891)
+++ udd/src/setup-db.sql	2008-06-17 11:27:01 UTC (rev 892)
@@ -1,8 +1,9 @@
 CREATE TABLE Packages
   (Package text, Version text, Architecture text, Maintainer text, Description
-    text, Source text, Essential text, Depends text, Recommends text, Suggests
-    text, Enhances text, Pre_Depends text, Installed_Size int, Homepage text,
-    Size int, MD5Sum text, Distribution text, Release text, Component text,
+    text, Source text, Source_version text, Essential text, Depends text,
+    Recommends text, Suggests text, Enhances text, Pre_Depends text,
+    Installed_Size int, Homepage text, Size int, MD5Sum text, Distribution
+    text, Release text, Component text,
   UNIQUE (Package, Version, Architecture, Distribution, Release, Component));
 
 CREATE TABLE sources




More information about the Collab-qa-commits mailing list