l.s.i.p.IPlainPackageCopyJobSource(IJobSource) : interface documentation

Part of lp.soyuz.interfaces.packagecopyjob View In Hierarchy

An interface for acquiring IPackageCopyJobs.
Method create Create a new IPlainPackageCopyJob.
Method createMultiple Create multiple new `IPlainPackageCopyJob`s at once.
Method getActiveJobs Retrieve all active sync jobs for an archive.
Method getPendingJobsPerPackage Find pending jobs for each package in target_series.
Method getIncompleteJobsForArchive Find incomplete jobs for each package in archive.

Inherited from IJobSource:

Int memory_limit Undocumented
Method iterReady Iterate through all jobs.
Method contextManager Get a context for running this kind of job in.
def create(package_name, source_archive, target_archive, target_distroseries, target_pocket, include_binaries=False, package_version=None, copy_policy=PackageCopyPolicy.INSECURE, requester=None, sponsored=None, unembargo=False, auto_approve=False, silent=False, source_distroseries=None, source_pocket=None, phased_update_percentage=None):
Create a new IPlainPackageCopyJob.
Parameterspackage_nameThe name of the source package to copy.
source_archiveThe IArchive in which source_packages are found.
target_archiveThe IArchive to which to copy the packages.
target_distroseriesThe IDistroSeries to which to copy the packages.
target_pocketThe pocket into which to copy the packages. Must be a member of PackagePublishingPocket.
include_binariesSee do_copy.
package_versionThe version string for the package version that is to be copied.
copy_policyApplicable PackageCopyPolicy.
requesterThe user requesting the copy.
sponsoredThe user who is being sponsored to make the copy. The person who is making this request then becomes the sponsor.
unembargoSee do_copy.
auto_approveif True and the user requesting the sync has queue admin permissions on the target, accept the copy immediately rather than setting it to unapproved.
silentSuppress any emails that the copy would generate. Only usable with queue admin permissions on the target.
source_distroseriesThe IDistroSeries from which to copy the packages. If omitted, copy from any series with a matching version.
source_pocketThe pocket from which to copy the packages. Must be a member of PackagePublishingPocket. If omitted, copy from any pocket with a matching version.
phased_update_percentageThe phased update percentage to apply to the copied publication.
def createMultiple(target_distroseries, copy_tasks, requester, copy_policy=PackageCopyPolicy.INSECURE, include_binaries=False, unembargo=False, auto_approve=False, silent=False):
Create multiple new `IPlainPackageCopyJob`s at once.

:param target_distroseries: The `IDistroSeries` to which to copy the
    packages.
:param copy_tasks: A list of tuples describing the copies to be
    performed: (package name, package version, source archive,
    target archive, target pocket).
:param requester: The user requesting the copy.
:param copy_policy: Applicable `PackageCopyPolicy`.
:param include_binaries: As in `do_copy`.
:param unembargo: As in `do_copy`.
:param auto_approve: if True and the user requesting the sync has
    queue admin permissions on the target, accept the copy
    immediately rather than setting it to unapproved.
:param silent: Suppress any emails that the copy would generate.
    Only usable with queue admin permissions on the target.
:return: An iterable of `PackageCopyJob` ids.
def getActiveJobs(target_archive):
Retrieve all active sync jobs for an archive.
def getPendingJobsPerPackage(target_series):
Find pending jobs for each package in `target_series`.

This is meant for finding jobs that will resolve specific
`DistroSeriesDifference`s.

:param target_series: Target `DistroSeries`; this corresponds to
    `DistroSeriesDifference.derived_series`.
:return: A dict containing as keys the (name, version) tuples for
    each `DistroSeriesDifference` that has a resolving
    `PlainPackageCopyJob` pending.  Each of these DSDs maps to its
    oldest pending job.  The `version` corresponds to
    `DistroSeriesDifference.parent_source_version`.
def getIncompleteJobsForArchive(archive):
Find incomplete jobs for each package in archive.

Incomplete jobs are ones in status WAITING, RUNNING or FAILED.

ParametersarchiveThe target IArchive for the job.
ReturnsAn iterable of PackageCopyJob.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.