]> git.decadent.org.uk Git - dak.git/blobdiff - dak/contents.py
don't import tempfile in contents.py
[dak.git] / dak / contents.py
index 3444071cdb34a9860f5f62f5ae7c0427e3830332..b4117e5024e322cff78f1e28b29636d495994861 100644 (file)
@@ -36,7 +36,6 @@ Create all the contents files
 
 import sys
 import os
-import tempfile
 import logging
 import math
 import gzip
@@ -91,14 +90,14 @@ log = logging.getLogger()
 
 # get all the arches delivered for a given suite
 # this should probably exist somehere common
-arches_q = """PREPARE arches_q as
+arches_q = """PREPARE arches_q(int) as
               SELECT s.architecture, a.arch_string
               FROM suite_architectures s
               JOIN architecture a ON (s.architecture=a.id)
                   WHERE suite = $1"""
 
 # find me the .deb for a given binary id
-debs_q = """PREPARE debs_q as
+debs_q = """PREPARE debs_q(int, int) as
               SELECT b.id, f.filename FROM bin_assoc_by_arch baa
               JOIN binaries b ON baa.bin=b.id
               JOIN files f ON b.file=f.id
@@ -106,13 +105,13 @@ debs_q = """PREPARE debs_q as
                   AND arch = $2"""
 
 # ask if we already have contents associated with this binary
-olddeb_q = """PREPARE olddeb_q as
+olddeb_q = """PREPARE olddeb_q(int) as
               SELECT 1 FROM content_associations
               WHERE binary_pkg = $1
               LIMIT 1"""
 
 # find me all of the contents for a given .deb
-contents_q = """PREPARE contents_q as
+contents_q = """PREPARE contents_q(int,int,int,int) as
               SELECT (p.path||'/'||n.file) AS fn,
                       comma_separated_list(s.section||'/'||b.package)
               FROM content_associations c
@@ -131,7 +130,7 @@ contents_q = """PREPARE contents_q as
               ORDER BY fn"""
 
 # find me all of the contents for a given .udeb
-udeb_contents_q = """PREPARE udeb_contents_q as
+udeb_contents_q = """PREPARE udeb_contents_q(int,int,int) as
               SELECT (p.path||'/'||n.file) as fn,
                       comma_separated_list(s.section||'/'||b.package)
               FROM content_associations c
@@ -178,6 +177,9 @@ class Contents(object):
     def __init__(self):
         self.header = None
 
+    def reject(self, message):
+        log.error("E: %s" % message)
+
     def _getHeader(self):
         """
         Internal method to return the header for Contents.gz files
@@ -226,7 +228,7 @@ class Contents(object):
                     return
 
                 num_tabs = max(1,
-                               int(math.ceil((self._goal_column - len(contents[0])) / 8)))
+                               int(math.ceil((self._goal_column - len(contents[0])-1) / 8)))
                 f.write(contents[0] + ( '\t' * num_tabs ) + contents[-1] + "\n")
 
         finally:
@@ -279,7 +281,7 @@ class Contents(object):
                     else:
                         debfile = os.path.join( pooldir, deb[1] )
                         if os.path.exists( debfile ):
-                            Binary(debfile).scan_package( deb[0] )
+                            Binary(debfile, self.reject).scan_package( deb[0] )
                         else:
                             log.error( "missing .deb: %s" % deb[1] )