X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Ffilewriter.py;h=714531afe4b1a4163f120b81743dd29f91cfa097;hb=3fe6999ba255bd164e2c84c2c07ae5300ff5e8f7;hp=35919634e9e971515ff5388ff14289542e752ea8;hpb=c3210fb3c3eb33ff14df2f4bd3da087836089444;p=dak.git diff --git a/daklib/filewriter.py b/daklib/filewriter.py index 35919634..714531af 100755 --- a/daklib/filewriter.py +++ b/daklib/filewriter.py @@ -98,3 +98,51 @@ class BinaryContentsFileWriter(BaseFileWriter): else: template = "dists/%(suite)s/Contents-%(architecture)s" BaseFileWriter.__init__(self, template, **flags) + +class SourceContentsFileWriter(BaseFileWriter): + def __init__(self, **keywords): + ''' + The value of the keywords suite and component are strings. + Output files are gzip compressed only. + ''' + flags = { + 'uncompressed': False, + 'gzip': True, + 'bzip2': False + } + flags.update(keywords) + template = "dists/%(suite)s/%(component)s/Contents-source" + BaseFileWriter.__init__(self, template, **flags) + +class PackagesFileWriter(BaseFileWriter): + def __init__(self, **keywords): + ''' + The value of the keywords suite, component, debtype and architecture + are strings. Output files are gzip compressed only. + ''' + flags = { + 'uncompressed': False, + 'gzip': True, + 'bzip2': True + } + flags.update(keywords) + if flags['debtype'] == 'deb': + template = "dists/%(suite)s/%(component)s/binary-%(architecture)s/Packages" + else: # udeb + template = "dists/%(suite)s/%(component)s/debian-installer/binary-%(architecture)s/Packages" + BaseFileWriter.__init__(self, template, **flags) + +class SourcesFileWriter(BaseFileWriter): + def __init__(self, **keywords): + ''' + The value of the keywords suite and component are strings. Output + files are gzip compressed only. + ''' + flags = { + 'uncompressed': False, + 'gzip': True, + 'bzip2': True + } + flags.update(keywords) + template = "dists/%(suite)s/%(component)s/source/Sources" + BaseFileWriter.__init__(self, template, **flags)