~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/archiveuploader/permission.py

Merged recipe-collection into buildqueue-creation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
125
125
    return reason is None
126
126
 
127
127
 
128
 
def check_upload_to_archive(person, distroseries, sourcepackagename, archive,
129
 
                            component, pocket, strict_component=True):
130
 
    """Check if 'person' upload 'suitesourcepackage' to 'archive'.
 
128
def check_upload_to_pocket(archive, distroseries, pocket):
 
129
    """Check if uploading to a particular pocket in an archive is possible.
131
130
 
132
 
    :param person: An `IPerson` who might be uploading.
133
 
    :param distroseries: The `IDistroSeries` being uploaded to.
134
 
    :param sourcepackagename: The `ISourcePackageName` being uploaded.
135
 
    :param archive: The `IArchive` to upload to. If not provided, defaults
136
 
        to the default archive for the source package. (See
137
 
        `ISourcePackage.get_default_archive`).
138
 
    :param component: The `Component` being uploaded to.
139
 
    :param pocket: The `PackagePublishingPocket` of 'distroseries' being
140
 
        uploaded to.
141
 
    :return: The reason for not being able to upload, None otherwise.
 
131
    :param archive: A `IArchive`
 
132
    :param distroseries: A `IDistroSeries`
 
133
    :param pocket: A `PackagePublishingPocket`
142
134
    """
143
135
    if archive.purpose == ArchivePurpose.PARTNER:
144
136
        if pocket not in (
156
148
        if not distroseries.canUploadToPocket(pocket):
157
149
            return CannotUploadToPocket(distroseries, pocket)
158
150
 
 
151
 
 
152
def check_upload_to_archive(person, distroseries, sourcepackagename, archive,
 
153
                            component, pocket, strict_component=True):
 
154
    """Check if 'person' upload 'suitesourcepackage' to 'archive'.
 
155
 
 
156
    :param person: An `IPerson` who might be uploading.
 
157
    :param distroseries: The `IDistroSeries` being uploaded to.
 
158
    :param sourcepackagename: The `ISourcePackageName` being uploaded.
 
159
    :param archive: The `IArchive` to upload to. If not provided, defaults
 
160
        to the default archive for the source package. (See
 
161
        `ISourcePackage.get_default_archive`).
 
162
    :param component: The `Component` being uploaded to.
 
163
    :param pocket: The `PackagePublishingPocket` of 'distroseries' being
 
164
        uploaded to.
 
165
    :return: The reason for not being able to upload, None otherwise.
 
166
    """
 
167
    check_upload_to_pocket(archive, distroseries, pocket)
159
168
    return verify_upload(
160
169
        person, sourcepackagename, archive, component, distroseries,
161
170
        strict_component)