[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: