~launchpad-pqm/launchpad/devel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copyright 2009 Canonical Ltd.  This software is licensed under the
# GNU Affero General Public License version 3 (see the file LICENSE).

"""Source package format interfaces."""

__metaclass__ = type

__all__ = [
    'ISourcePackageFormatSelection',
    'ISourcePackageFormatSelectionSet',
    ]

from zope.interface import (
    Attribute,
    Interface,
    )


class ISourcePackageFormatSelection(Interface):
    """A source package format allowed within a DistroSeries."""

    id = Attribute("ID")
    distroseries = Attribute("Target series")
    format = Attribute("Permitted source package format")


class ISourcePackageFormatSelectionSet(Interface):
    """Set manipulation tools for the SourcePackageFormatSelection table."""

    def getBySeriesAndFormat(distroseries, format):
        """Return the ISourcePackageFormatSelection for the given series and
        format."""

    def add(distroseries, format):
        """Allow the given source package format in the given series."""