From: Torsten Werner Date: Sat, 26 Mar 2011 10:29:49 +0000 (+0000) Subject: various bugfixes X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3210fb3c3eb33ff14df2f4bd3da087836089444;p=dak various bugfixes Signed-off-by: Torsten Werner --- diff --git a/daklib/contents.py b/daklib/contents.py index 1ce5779a..6e55f629 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 f52ac76a..35919634 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)