~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/soyuz/interfaces/packagecopyjob.py

  • Committer: Launchpad Patch Queue Manager
  • Date: 2011-06-25 08:55:37 UTC
  • mfrom: (13287.1.8 bug-800652)
  • Revision ID: launchpad@pqm.canonical.com-20110625085537-moikyoo2pe98zs7r
[r=jcsackett, julian-edwards][bug=800634,
        800652] Enable and display overrides on sync package uploads.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 
6
6
__all__ = [
7
7
    "IPackageCopyJob",
 
8
    "IPackageCopyJobEdit",
 
9
    "IPackageCopyJobSource",
8
10
    "IPlainPackageCopyJob",
9
11
    "IPlainPackageCopyJobSource",
10
12
    "PackageCopyJobType",
37
39
from lp.soyuz.interfaces.archive import IArchive
38
40
 
39
41
 
 
42
class IPackageCopyJobSource(Interface):
 
43
    """Utility for `IPackageCopyJob`-implementing types."""
 
44
 
 
45
    def wrap(package_copy_job):
 
46
        """Wrap a `PackageCopyJob` in its concrete implementation type.
 
47
 
 
48
        As a special case, `None` produces `None`.
 
49
 
 
50
        :param package_copy_job: A `PackageCopyJob`.
 
51
        :return: An `IPackageCopyJob` implementation based on
 
52
            `package_copy_job`, but of the job's specific concrete type
 
53
            (such as `PlainPackageCopyJob`).
 
54
        """
 
55
 
 
56
 
 
57
class IPackageCopyJobEdit(Interface):
 
58
    """Privileged access to an `IPackageCopyJob`."""
 
59
 
 
60
    def extendMetadata(metadata_dict):
 
61
        """Update the job's JSON metadata with items from `metadata_dict`."""
 
62
 
 
63
 
40
64
class IPackageCopyJob(Interface):
41
 
    """A job that copies packages between `IArchive`s."""
 
65
    """The immutable data on an `IPackageCopyJob`, for normal use."""
42
66
 
43
67
    id = Int(
44
68
        title=_('DB ID'), required=True, readonly=True,
74
98
        schema=IJob, title=_('The common Job attributes'),
75
99
        required=True, readonly=True)
76
100
 
77
 
    metadata = Attribute('A dict of data about the job.')
 
101
    component_name = TextLine(
 
102
        title=_("Component override name"), required=False, readonly=True)
 
103
 
 
104
    section_name = TextLine(
 
105
        title=_("Section override name"), required=False, readonly=True)
 
106
 
 
107
    metadata = Attribute(_("A dict of data about the job."))
78
108
 
79
109
 
80
110
class PackageCopyJobType(DBEnumeratedType):