X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Ffilewriter.py;h=8e17efdfcbeac574997f1c5c9288d7a84aa8ac9b;hb=1a81c5c282979e4660c7e1f3464ced526b100faf;hp=8907fa6d96fa39f7c8e2d7163f3c20e4f361bd2e;hpb=e8ef4a21ceff20319cde5002cb562ae05d7622c9;p=dak.git diff --git a/daklib/filewriter.py b/daklib/filewriter.py index 8907fa6d..8e17efdf 100755 --- a/daklib/filewriter.py +++ b/daklib/filewriter.py @@ -65,7 +65,7 @@ class BaseFileWriter(object): # internal helper function def rename(self, filename): tempfilename = filename + '.new' - os.chmod(tempfilename, 0664) + os.chmod(tempfilename, 0o664) os.rename(tempfilename, filename) def close(self): @@ -74,11 +74,11 @@ class BaseFileWriter(object): ''' self.file.close() if self.gzip: - check_call('gzip --rsyncable <%s.new >%s.gz.new' % (self.path, self.path), + check_call('gzip -9cn --rsyncable <%s.new >%s.gz.new' % (self.path, self.path), shell = True) self.rename('%s.gz' % self.path) if self.bzip2: - check_call('bzip2 <%s.new >%s.bz2.new' % (self.path, self.path), shell = True) + check_call('bzip2 -9 <%s.new >%s.bz2.new' % (self.path, self.path), shell = True) self.rename('%s.bz2' % self.path) if self.uncompressed: self.rename(self.path) @@ -151,3 +151,19 @@ class SourcesFileWriter(BaseFileWriter): flags.update(keywords) template = "dists/%(suite)s/%(component)s/source/Sources" BaseFileWriter.__init__(self, template, **flags) + +class TranslationFileWriter(BaseFileWriter): + def __init__(self, **keywords): + ''' + The value of the keywords suite, component and language are strings. + Output files are bzip2 compressed only. + ''' + flags = { + 'uncompressed': False, + 'gzip': False, + 'bzip2': True, + 'language': 'en', + } + flags.update(keywords) + template = "dists/%(suite)s/%(component)s/i18n/Translation-%(language)s" + super(TranslationFileWriter, self).__init__(template, **flags)