X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Ffilewriter.py;h=7fa68289e8a933d92979ff179c77463f7ebd4a57;hb=aa4f71d8e30c23e458a8148be258c89bffbd405f;hp=8e17efdfcbeac574997f1c5c9288d7a84aa8ac9b;hpb=df984f92931b276da9e3ddb0b2fb6e7dc05d91d6;p=dak.git diff --git a/daklib/filewriter.py b/daklib/filewriter.py old mode 100755 new mode 100644 index 8e17efdf..7fa68289 --- a/daklib/filewriter.py +++ b/daklib/filewriter.py @@ -43,12 +43,11 @@ class BaseFileWriter(object): include strings for suite, component, architecture and booleans uncompressed, gzip, bzip2. ''' - self.uncompressed = keywords.get('uncompressed', True) - self.gzip = keywords.get('gzip', False) - self.bzip2 = keywords.get('bzip2', False) - root_dir = Config()['Dir::Root'] - relative_dir = template % keywords - self.path = os.path.join(root_dir, relative_dir) + compression = keywords.get('compression', ['none']) + self.uncompressed = 'none' in compression + self.gzip = 'gzip' in compression + self.bzip2 = 'bzip2' in compression + self.path = template % keywords def open(self): ''' @@ -93,15 +92,13 @@ class BinaryContentsFileWriter(BaseFileWriter): Output files are gzip compressed only. ''' flags = { - 'uncompressed': False, - 'gzip': True, - 'bzip2': False + 'compression': ['gzip'], } flags.update(keywords) if flags['debtype'] == 'deb': - template = "dists/%(suite)s/%(component)s/Contents-%(architecture)s" + template = "%(archive)s/dists/%(suite)s/%(component)s/Contents-%(architecture)s" else: # udeb - template = "dists/%(suite)s/%(component)s/Contents-udeb-%(architecture)s" + template = "%(archive)s/dists/%(suite)s/%(component)s/Contents-udeb-%(architecture)s" BaseFileWriter.__init__(self, template, **flags) class SourceContentsFileWriter(BaseFileWriter): @@ -111,12 +108,10 @@ class SourceContentsFileWriter(BaseFileWriter): Output files are gzip compressed only. ''' flags = { - 'uncompressed': False, - 'gzip': True, - 'bzip2': False + 'compression': ['gzip'], } flags.update(keywords) - template = "dists/%(suite)s/%(component)s/Contents-source" + template = "%(archive)s/dists/%(suite)s/%(component)s/Contents-source" BaseFileWriter.__init__(self, template, **flags) class PackagesFileWriter(BaseFileWriter): @@ -126,15 +121,13 @@ class PackagesFileWriter(BaseFileWriter): are strings. Output files are gzip compressed only. ''' flags = { - 'uncompressed': False, - 'gzip': True, - 'bzip2': True + 'compression': ['gzip', 'bzip2'], } flags.update(keywords) if flags['debtype'] == 'deb': - template = "dists/%(suite)s/%(component)s/binary-%(architecture)s/Packages" + template = "%(archive)s/dists/%(suite)s/%(component)s/binary-%(architecture)s/Packages" else: # udeb - template = "dists/%(suite)s/%(component)s/debian-installer/binary-%(architecture)s/Packages" + template = "%(archive)s/dists/%(suite)s/%(component)s/debian-installer/binary-%(architecture)s/Packages" BaseFileWriter.__init__(self, template, **flags) class SourcesFileWriter(BaseFileWriter): @@ -144,12 +137,10 @@ class SourcesFileWriter(BaseFileWriter): files are gzip compressed only. ''' flags = { - 'uncompressed': False, - 'gzip': True, - 'bzip2': True + 'compression': ['gzip', 'bzip2'], } flags.update(keywords) - template = "dists/%(suite)s/%(component)s/source/Sources" + template = "%(archive)s/dists/%(suite)s/%(component)s/source/Sources" BaseFileWriter.__init__(self, template, **flags) class TranslationFileWriter(BaseFileWriter): @@ -159,11 +150,9 @@ class TranslationFileWriter(BaseFileWriter): Output files are bzip2 compressed only. ''' flags = { - 'uncompressed': False, - 'gzip': False, - 'bzip2': True, + 'compression': ['bzip2'], 'language': 'en', } flags.update(keywords) - template = "dists/%(suite)s/%(component)s/i18n/Translation-%(language)s" + template = "%(archive)s/dists/%(suite)s/%(component)s/i18n/Translation-%(language)s" super(TranslationFileWriter, self).__init__(template, **flags)