[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master 2/4] various bugfixes



Signed-off-by: Torsten Werner <twerner@debian.org>
---
 daklib/contents.py   |    3 ++-
 daklib/filewriter.py |   15 ++++++++-------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/daklib/contents.py b/daklib/contents.py
index 1ce5779..6e55f62 100755
--- a/daklib/contents.py
+++ b/daklib/contents.py
@@ -27,6 +27,7 @@ Helper code for contents generation.
 
 from daklib.dbconn import *
 from daklib.config import Config
+from daklib.filewriter import BinaryContentsFileWriter
 
 from multiprocessing import Pool
 from shutil import rmtree
@@ -154,7 +155,7 @@ select bc.file, string_agg(o.section || '/' || b.package, ',' order by b.package
         }
         if self.component is not None:
             values['component'] = self.component.component_name
-        return BinaryContentsWriter(values)
+        return BinaryContentsFileWriter(**values)
 
     def get_header(self):
         '''
diff --git a/daklib/filewriter.py b/daklib/filewriter.py
index f52ac76..3591963 100755
--- a/daklib/filewriter.py
+++ b/daklib/filewriter.py
@@ -35,7 +35,7 @@ class BaseFileWriter(object):
     '''
     Base class for compressed and uncompressed file writing.
     '''
-    def __init__(template, **keywords):
+    def __init__(self, template, **keywords):
         '''
         The template argument is a string template like
         "dists/%(suite)s/%(component)s/Contents-%(architecture)s.gz" that
@@ -54,7 +54,8 @@ class BaseFileWriter(object):
         '''
         Returns a file object for writing.
         '''
-        self.file = open(self.path + '.new')
+        self.file = open(self.path + '.new', 'w')
+        return self.file
 
     # internal helper function
     def rename(self, filename):
@@ -77,10 +78,10 @@ class BaseFileWriter(object):
         if self.uncompressed:
             self.rename(self.path)
         else:
-            os.unlink(self.path)
+            os.unlink(self.path + '.new')
 
-class BinaryContentsWriter(BaseFileWriter):
-    def __init__(**keywords):
+class BinaryContentsFileWriter(BaseFileWriter):
+    def __init__(self, **keywords):
         '''
         The value of the keywords suite, component, and architecture are
         strings. The value of component may be omitted if not applicable.
@@ -93,7 +94,7 @@ class BinaryContentsWriter(BaseFileWriter):
         }
         flags.update(keywords)
         if 'component' in flags:
-            template "dists/%(suite)s/%(component)s/Contents-%(architecture)s.gz" % values
+            template = "dists/%(suite)s/%(component)s/Contents-%(architecture)s"
         else:
-            template = "dists/%(suite)s/Contents-%(architecture)s.gz" % values
+            template = "dists/%(suite)s/Contents-%(architecture)s"
         BaseFileWriter.__init__(self, template, **flags)
-- 
1.7.2.5



Reply to: