l.t.f.BareLaunchpadObjectFactory(ObjectFactory) : class documentation

Part of lp.testing.factory View In Hierarchy

Factory methods for creating Launchpad objects.

All the factory methods should be callable with no parameters. When this is done, the returned object should have unique references for any other required objects.

Method loginAsAnyone Log in as an arbitrary person.
Method makeAdministrator Undocumented
Method makeRegistryExpert Undocumented
Method makeCommercialAdmin Undocumented
Method makeCopyArchiveLocation Create and return a new arbitrary location for copy packages.
Method makeAccount Create and return a new Account.
Method makeOpenIdIdentifier Attach an OpenIdIdentifier to an Account.
Method makeGPGKey Give 'owner' a crappy GPG key for the purposes of testing.
Method makePerson Create and return a new, arbitrary Person.
Method makePersonByName Create a new person with the given first name.
Method makeEmail Create a new email address for a person.
Method makeTeam Create and return a new, arbitrary Team.
Method makePoll Create a new poll which starts tomorrow and lasts for a week.
Method makeTranslationGroup Create a new, arbitrary TranslationGroup.
Method makeTranslator Create a new, arbitrary Translator.
Method makeMilestone Undocumented
Method makeProcessor Create a new processor.
Method makeProductRelease Undocumented
Method makeProductReleaseFile Undocumented
Method makeProduct Create and return a new, arbitrary Product.
Method makeProductSeries Create a new, arbitrary ProductSeries.
Method makeProject Create and return a new, arbitrary ProjectGroup.
Method makeSprint Make a sprint.
Method makeStackedOnBranchChain Undocumented
Method makeBranch Create and return a new, arbitrary Branch of the given type.
Method makePackagingLink Undocumented
Method makePackageBranch Make a package branch on an arbitrary package.
Method makePersonalBranch Make a personal branch on an arbitrary person.
Method makeProductBranch Make a product branch on an arbitrary product.
Method makeAnyBranch Make a branch without caring about its container.
Method makeBranchTargetBranch Create a branch in a BranchTarget.
Method makeRelatedBranchesForSourcePackage Create some branches associated with a sourcepackage.
Method makeRelatedBranchesForProduct Create some branches associated with a product.
Method makeRelatedBranches Create some branches associated with a reference branch.
Method enableDefaultStackingForProduct Give 'product' a default stacked-on branch.
Method enableDefaultStackingForPackage Give 'package' a default stacked-on branch.
Method makeBranchMergeProposal Create a proposal to merge based on anonymous branches.
Method makeBranchMergeProposalForGit Create a proposal to merge based on anonymous branches.
Method makeBranchSubscription Create a BranchSubscription.
Method makeDiff Undocumented
Method makePreviewDiff Undocumented
Method makeIncrementalDiff Undocumented
Method makeBzrRevision Undocumented
Method makeRevision Create a single Revision.
Method makeRevisionsForBranch Add count revisions to the revision history of branch.
Method makeBranchRevision Undocumented
Method makeGitRepository Create and return a new, arbitrary GitRepository.
Method makeGitSubscription Create a GitSubscription.
Method makeGitRefs Create and return a list of new, arbitrary GitRefs.
Method makeGitRefRemote Create an object representing a ref in a remote repository.
Method makeGitRule Create a Git repository access rule.
Method makeGitRuleGrant Create a Git repository access grant.
Method makeBug Create and return a new, arbitrary Bug.
Method makeBugTask Create and return a bug task.
Method makeBugNomination Create and return a BugNomination.
Method makeBugTracker Make a new bug tracker.
Method makeBugTrackerWithWatches Make a new bug tracker with some watches.
Method makeBugTrackerComponentGroup Make a new bug tracker component group.
Method makeBugTrackerComponent Make a new bug tracker component.
Method makeBugWatch Make a new bug watch.
Method makeBugComment Create and return a new bug comment.
Method makeBugAttachment Create and return a new bug attachment.
Method makeSignedMessage Return an ISignedMessage.
Method makeSpecification Create and return a new, arbitrary Blueprint.
Method makeSpecificationWorkItem Undocumented
Method makeQuestion Create and return a new, arbitrary Question.
Method makeQuestionSubscription Create a QuestionSubscription.
Method makeFAQ Create and return a new, arbitrary FAQ.
Method makePackageCodeImport Make a code import targetting a sourcepackage.
Method makeProductCodeImport Make a code import targetting a product.
Method makeCodeImport Create and return a new, arbitrary code import.
Method makeChangelog Create and return a LFA of a valid Debian-style changelog.
Method makeCodeImportEvent Create and return a CodeImportEvent.
Method makeCodeImportJob Create and return a new code import job for the given import.
Method makeCodeImportMachine Return a new CodeImportMachine.
Method makeCodeImportResult Create and return a new CodeImportResult.
Method makeCodeReviewComment Undocumented
Method makeCodeReviewVoteReference Undocumented
Method makeMessage Undocumented
Method makeLanguage Makes a language given the language_code and name.
Method makeLanguagePack Create a language pack.
Method makeLibraryFileAlias Make a library file, and return the alias.
Method makeDistribution Make a new distribution.
Method makeDistroSeries Make a new DistroSeries.
Method makeUbuntuDistroSeries Short cut to use the celebrity 'ubuntu' as the distribution.
Method makeDistroSeriesDifference Create a new distro series source package difference.
Method makeDistroSeriesDifferenceComment Create a new distro series difference comment.
Method makeDistroSeriesParent Undocumented
Method makeDistroArchSeries Create a new distroarchseries
Method makeComponent Make a new IComponent.
Method makeComponentSelection Make a new ComponentSelection.
Method makeArchive Create and return a new arbitrary archive.
Method makeArchiveAdmin Make an Archive Admin.
Method makeArchiveFile Undocumented
Method makeBuilder Make a new builder for i386 virtualized builds by default.
Method makeRecipeText Undocumented
Method makeRecipe Make a builder recipe that references branches.
Method makeSourcePackageRecipeDistroseries Return a supported Distroseries to use with Source Package Recipes.
Method makeSourcePackageRecipe Make a SourcePackageRecipe.
Method makeSourcePackageRecipeBuild Make a new SourcePackageRecipeBuild.
Method makeTranslationTemplatesBuild Make a new TranslationTemplatesBuild.
Method makePOTemplate Make a new translation template.
Method makePOTemplateAndPOFiles Create a POTemplate and associated POFiles.
Method makePOFile Make a new translation file.
Method makePOTMsgSet Make a new POTMsgSet in the given template.
Method makePOFileAndPOTMsgSet Make a POFile with a POTMsgSet.
Method makeTranslationsDict Make sure translations are stored in a dict, e.g. {0: "foo"}.
Method makeSuggestion Make a new suggested TranslationMessage in the given PO file.
Method makeCurrentTranslationMessage Create a TranslationMessage and make it current.
Method makeDivergedTranslationMessage Create a diverged, current TranslationMessage.
Method makeTranslationImportQueueEntry Create a TranslationImportQueueEntry.
Method makeMailingList Create a mailing list for the team.
Method makeTeamAndMailingList Make a new active mailing list for the named team.
Method makeTeamWithMailingListSubscribers Create a team, mailing list, and subscribers.
Method makeMirrorProbeRecord Create a probe record for a mirror of a distribution.
Method makeMirror Create a mirror for the distribution.
Method makeUniqueRFC822MsgId Make a unique RFC 822 message id.
Method makeSourcePackageName Make an ISourcePackageName.
Method getOrMakeSourcePackageName Get an existing`ISourcePackageName` or make a new one.
Method makeSourcePackage Make an ISourcePackage.
Method getAnySourcePackageUrgency Undocumented
Method makePackageUpload Undocumented
Method makeSourcePackageUpload Make a PackageUpload with a PackageUploadSource attached.
Method makeBuildPackageUpload Make a PackageUpload with a PackageUploadBuild attached.
Method makeCustomPackageUpload Make a PackageUpload with a PackageUploadCustom attached.
Method makeCopyJobPackageUpload Make a PackageUpload with a PackageCopyJob attached.
Method makeSourcePackageRelease Make a SourcePackageRelease.
Method makeSourcePackageReleaseFile Undocumented
Method makeBinaryPackageBuild Create a BinaryPackageBuild.
Method makeSourcePackagePublishingHistory Make a SourcePackagePublishingHistory.
Method makeBinaryPackagePublishingHistory Make a BinaryPackagePublishingHistory.
Method makeSPPHForBPPH Produce a SourcePackagePublishingHistory to match bpph.
Method makeBinaryPackageName Make an IBinaryPackageName.
Method getOrMakeBinaryPackageName Get an existing IBinaryPackageName or make a new one.
Method makeBinaryPackageFile Undocumented
Method makeBinaryPackageRelease Make a BinaryPackageRelease.
Method makeSection Make a Section.
Method makePackageset Make an IPackageset.
Method makeDistroArchSeriesFilter Make a new DistroArchSeriesFilter.
Method getAnyPocket Undocumented
Method makeSuiteSourcePackage Undocumented
Method makeDistributionSourcePackage Undocumented
Method makeDSPCache Undocumented
Method makeEmailMessage Make an email message with possible attachments.
Method makeHWSubmission Create a new HWSubmission.
Method makeHWSubmissionDevice Create a new HWSubmissionDevice.
Method makeSSHKeyText Create new SSH public key text.
Method makeSSHKey Create a new SSHKey.
Method makeBlob Create a new TemporaryFileStorage BLOB.
Method makeProcessedApportBlob Create a processed ApportJob with the specified metadata dict.
Method makeLaunchpadService Undocumented
Method makePackageDiff Create a new PackageDiff.
Method makeOAuthConsumer Undocumented
Method makeOAuthRequestToken Create a (possibly reviewed) OAuth request token.
Method makeOAuthAccessToken Create an OAuth access token.
Method makeCVE Create a new CVE record.
Method makePublisherConfig Create a new PublisherConfig record.
Method makePlainPackageCopyJob Create a new PlainPackageCopyJob.
Method makeAccessPolicy Undocumented
Method makeAccessArtifact Undocumented
Method makeAccessPolicyArtifact Undocumented
Method makeAccessArtifactGrant Undocumented
Method makeAccessPolicyGrant Undocumented
Method makeFakeFileUpload Return a zope.publisher.browser.FileUpload like object.
Method makeCommercialSubscription Create a commercial subscription for the given product.
Method grantCommercialSubscription Give 'person' a commercial subscription.
Method makeLiveFS Make a new LiveFS.
Method makeLiveFSBuild Make a new LiveFSBuild.
Method makeLiveFSFile Undocumented
Method makeWebhook Undocumented
Method makeSnap Make a new Snap.
Method makeSnapBuildRequest Make a new SnapBuildRequest.
Method makeSnapBuild Make a new SnapBuild.
Method makeSnapFile Undocumented
Method makeSnappySeries Make a new SnappySeries.
Method makeSnapBase Make a new SnapBase.

Inherited from ObjectFactory:

Method getUniqueEmailAddress Undocumented
Method getUniqueInteger Return an integer unique to this factory instance.
Method getUniqueHexString Return a unique hexadecimal string.
Method getUniqueString Return a string unique to this factory instance.
Method getUniqueUnicode Undocumented
Method getUniqueURL Return a URL unique to this run of the test case.
Method getUniqueDate Return a unique date since January 1 2009.
Method makeCodeImportSourceDetails Undocumented
def loginAsAnyone(self, participation=None):
Log in as an arbitrary person.

If you want to log in as a celebrity, including admins, see lp.testing.login_celebrity.

@with_celebrity_logged_in('admin')
def makeAdministrator(self, name=None, email=None):
Undocumented
@with_celebrity_logged_in('admin')
def makeRegistryExpert(self, name=None, email='expert@example.com'):
Undocumented
@with_celebrity_logged_in('admin')
def makeCommercialAdmin(self, name=None, email=None):
Undocumented
def makeCopyArchiveLocation(self, distribution=None, owner=None, name=None, enabled=True):
Create and return a new arbitrary location for copy packages.
def makeAccount(self, displayname=None, status=AccountStatus.ACTIVE, rationale=AccountCreationRationale.UNKNOWN):
Create and return a new Account.
def makeOpenIdIdentifier(self, account, identifier=None):
Attach an OpenIdIdentifier to an Account.
def makeGPGKey(self, owner):
Give 'owner' a crappy GPG key for the purposes of testing.
def makePerson(self, email=None, name=None, displayname=None, account_status=None, email_address_status=None, hide_email_addresses=False, time_zone=None, latitude=None, longitude=None, description=None, selfgenerated_bugnotifications=False, member_of=(), karma=None):
Create and return a new, arbitrary Person.
ParametersemailThe email address for the new person.
nameThe name for the new person.
email_address_statusIf specified, the status of the email address is set to the email_address_status.
displaynameThe display name to use for the person.
hide_email_addressesWhether or not to hide the person's email address(es) from other users.
time_zoneThis person's time zone, as a string.
latitudeThis person's latitude, as a float.
longitudeThis person's longitude, as a float.
selfgenerated_bugnotificationsReceive own bugmail.
def makePersonByName(self, first_name, set_preferred_email=True, use_default_autosubscribe_policy=False):
Create a new person with the given first name.

The person will be given two email addresses, with the 'long form' (e.g. anne.person@example.com) as the preferred address. Return the new person object.

The person will also have their mailing list auto-subscription policy set to 'NEVER' unless 'use_default_autosubscribe_policy' is set to True. (This requires the Launchpad.Edit permission). This is useful for testing, where we often want precise control over when a person gets subscribed to a mailing list.

Parametersfirst_nameFirst name of the person, capitalized. (type: string)
set_preferred_emailFlag specifying whether <name>.person@example.com should be set as the user's preferred email address. (type: bool)
use_default_autosubscribe_policyFlag specifying whether the person's mailing_list_auto_subscribe_policy should be set. (type: bool)
ReturnsThe newly created person. (type: IPerson)
def makeEmail(self, address, person, email_status=None):
Create a new email address for a person.
ParametersaddressThe email address to create. (type: string)
personThe person to assign the email address to. (type: IPerson)
email_statusThe default status of the email address, if given. If not given, EmailAddressStatus.VALIDATED will be used. (type: EmailAddressStatus)
ReturnsThe newly created email address. (type: IEmailAddress)
def makeTeam(self, owner=None, displayname=None, email=None, name=None, description=None, icon=None, logo=None, membership_policy=TeamMembershipPolicy.OPEN, visibility=None, members=None):
Create and return a new, arbitrary Team.
ParametersownerThe person or person name to use as the team's owner. If not given, a person will be auto-generated. (type: IPerson or string)
displaynameThe team's display name. If not given we'll use the auto-generated name.
descriptionTeam team's description.
description string (type: )
emailThe email address to use as the team's contact address. (type: string)
iconThe team's icon.
logoThe team's logo.
membership_policyThe membership policy of the team. (type: TeamMembershipPolicy)
visibilityThe team's visibility. If it's None, the default (public) will be used. (type: PersonVisibility)
membersPeople or teams to be added to the new team (type: An iterable of objects implementing IPerson)
ReturnsThe new team (type: ITeam)
def makePoll(self, team, name, title, proposition, poll_type=PollAlgorithm.SIMPLE):
Create a new poll which starts tomorrow and lasts for a week.
def makeTranslationGroup(self, owner=None, name=None, title=None, summary=None, url=None):
Create a new, arbitrary TranslationGroup.
def makeTranslator(self, language_code=None, group=None, person=None, license=True, language=None):
Create a new, arbitrary Translator.
def makeMilestone(self, product=None, distribution=None, productseries=None, name=None, active=True, dateexpected=None, distroseries=None):
Undocumented
def makeProcessor(self, name=None, title=None, description=None, restricted=False, build_by_default=True, supports_virtualized=False, supports_nonvirtualized=True):
Create a new processor.
ParametersnameName of the processor
titleOptional title
descriptionOptional description
restrictedIf the processor is restricted.
ReturnsA IProcessor
def makeProductRelease(self, milestone=None, product=None, productseries=None):
Undocumented
def makeProductReleaseFile(self, signed=True, product=None, productseries=None, milestone=None, release=None, description='test file', filename='test.txt'):
Undocumented
def makeProduct(self, name=None, projectgroup=None, displayname=None, licenses=None, owner=None, registrant=None, title=None, summary=None, official_malone=None, translations_usage=None, bug_supervisor=None, driver=None, icon=None, bug_sharing_policy=None, branch_sharing_policy=None, specification_sharing_policy=None, information_type=None, answers_usage=None, vcs=None):
Create and return a new, arbitrary Product.
def makeProductSeries(self, product=None, name=None, owner=None, summary=None, date_created=None, branch=None):
Create a new, arbitrary ProductSeries.
ParametersbranchIf supplied, the branch to set as ProductSeries.branch.
date_createdIf supplied, the date the series is created.
nameIf supplied, the name of the series.
ownerIf supplied, the owner of the series.
productIf supplied, the series is created for this product. Otherwise, a new product is created.
summaryIf supplied, the product series summary.
def makeProject(self, name=None, displayname=None, title=None, homepageurl=None, summary=None, owner=None, driver=None, description=None):
Create and return a new, arbitrary ProjectGroup.
def makeSprint(self, title=None, name=None):
Make a sprint.
def makeStackedOnBranchChain(self, depth=5, **kwargs):
Undocumented
def makeBranch(self, branch_type=None, owner=None, name=None, product=_DEFAULT, url=_DEFAULT, registrant=None, information_type=None, stacked_on=None, sourcepackage=None, reviewer=None, target=None, **optional_branch_args):
Create and return a new, arbitrary Branch of the given type.

Any parameters for IBranchNamespace.createBranch can be specified to override the default ones.

def makePackagingLink(self, productseries=None, sourcepackagename=None, distroseries=None, packaging_type=None, owner=None, sourcepackage=None, in_ubuntu=False):
Undocumented
def makePackageBranch(self, sourcepackage=None, distroseries=None, sourcepackagename=None, **kwargs):
Make a package branch on an arbitrary package.

See makeBranch for more information on arguments.

You can pass in either sourcepackage or one or both of distroseries and sourcepackagename, but not combinations or all of them.

def makePersonalBranch(self, owner=None, **kwargs):
Make a personal branch on an arbitrary person.

See makeBranch for more information on arguments.

def makeProductBranch(self, product=None, **kwargs):
Make a product branch on an arbitrary product.

See makeBranch for more information on arguments.

def makeAnyBranch(self, **kwargs):
Make a branch without caring about its container.

See makeBranch for more information on arguments.

def makeBranchTargetBranch(self, target, branch_type=BranchType.HOSTED, name=None, owner=None, creator=None):
Create a branch in a BranchTarget.
def makeRelatedBranchesForSourcePackage(self, sourcepackage=None, **kwargs):
Create some branches associated with a sourcepackage.
def makeRelatedBranchesForProduct(self, product=None, **kwargs):
Create some branches associated with a product.
def makeRelatedBranches(self, reference_branch=None, with_series_branches=True, with_package_branches=True, with_private_branches=False):
Create some branches associated with a reference branch.
The other branches are:
  - series branches: a set of branches associated with product
    series of the same product as the reference branch.
  - package branches: a set of branches associated with packagesource
    entities of the same product as the reference branch or the same
    sourcepackage depending on what type of branch it is.

If no reference branch is supplied, create one.

Returns: a tuple consisting of
(reference_branch, related_series_branches, related_package_branches)
def enableDefaultStackingForProduct(self, product, branch=None):
Give 'product' a default stacked-on branch.
ParametersproductThe product to give a default stacked-on branch to.
branchThe branch that should be the default stacked-on branch. If not supplied, a fresh branch will be created.
def enableDefaultStackingForPackage(self, package, branch):
Give 'package' a default stacked-on branch.
ParameterspackageThe package to give a default stacked-on branch to.
branchThe branch that should be the default stacked-on branch.
def makeBranchMergeProposal(self, target_branch=None, registrant=None, set_state=None, prerequisite_branch=None, product=None, initial_comment=None, source_branch=None, date_created=None, commit_message=None, description=None, reviewer=None, merged_revno=None):
Create a proposal to merge based on anonymous branches.
def makeBranchMergeProposalForGit(self, target_ref=None, registrant=None, set_state=None, prerequisite_ref=None, target=_DEFAULT, initial_comment=None, source_ref=None, date_created=None, commit_message=None, description=None, reviewer=None, merged_revision_id=None):
Create a proposal to merge based on anonymous branches.
def makeBranchSubscription(self, branch=None, person=None, subscribed_by=None):
Create a BranchSubscription.
def makeDiff(self, size='small'):
Undocumented
def makePreviewDiff(self, conflicts=u'', merge_proposal=None, date_created=None, size='small', git=False):
Undocumented
def makeIncrementalDiff(self, merge_proposal=None, old_revision=None, new_revision=None):
Undocumented
def makeBzrRevision(self, revision_id=None, parent_ids=None, props=None):
Undocumented
def makeRevision(self, author=None, revision_date=None, parent_ids=None, rev_id=None, log_body=None, date_created=None):
Create a single Revision.
def makeRevisionsForBranch(self, branch, count=5, author=None, date_generator=None):
Add count revisions to the revision history of branch.
ParametersbranchThe branch to add the revisions to.
countThe number of revisions to add.
authorA string for the author name.
date_generatorA time_counter instance, defaults to starting from 1-Jan-2007 if not set.
def makeBranchRevision(self, branch=None, revision_id=None, sequence=None, parent_ids=None, revision_date=None):
Undocumented
def makeGitRepository(self, repository_type=None, owner=None, reviewer=None, target=_DEFAULT, registrant=None, name=None, information_type=None, **optional_repository_args):
Create and return a new, arbitrary GitRepository.

Any parameters for IGitNamespace.createRepository can be specified to override the default ones.

def makeGitSubscription(self, repository=None, person=None, subscribed_by=None):
Create a GitSubscription.
def makeGitRefs(self, repository=None, paths=None, **repository_kwargs):
Create and return a list of new, arbitrary GitRefs.
def makeGitRefRemote(self, repository_url=None, path=None):
Create an object representing a ref in a remote repository.
def makeGitRule(self, repository=None, ref_pattern=u'refs/heads/*', creator=None, position=None, **repository_kwargs):
Create a Git repository access rule.
def makeGitRuleGrant(self, rule=None, grantee=None, grantor=None, can_create=False, can_push=False, can_force_push=False, **rule_kwargs):
Create a Git repository access grant.
def makeBug(self, target=None, owner=None, bug_watch_url=None, information_type=None, date_closed=None, title=None, date_created=None, description=None, comment=None, status=None, milestone=None, series=None, tags=None):
Create and return a new, arbitrary Bug.

The bug returned uses default values where possible. See IBugSet.new for more information.

ParameterstargetThe initial bug target. If not specified, falls back to the milestone target, then the series target, then a new product.
ownerThe reporter of the bug. If not set, one is created.
bug_watch_urlIf specified, create a bug watch pointing to this URL.
milestoneIf set, the milestone.target must match the target parameter's pillar.
seriesIf set, the series's pillar must match the target parameter's.
tagsIf set, the tags to be added with the bug.
def makeBugTask(self, bug=None, target=None, owner=None, publish=True, status=None):
Create and return a bug task.

If the bug is already targeted to the given target, the existing bug task is returned.

Private (and soon all) bugs cannot affect multiple projects so we ensure that if a bug has not been specified and one is created, it is for the same pillar as that of the specified target.

ParametersbugThe IBug the bug tasks should be part of. If None, one will be created.
targetThe IBugTarget, to which the bug will be targeted to.
def makeBugNomination(self, bug=None, target=None):
Create and return a BugNomination.

Will create a non-series task if it does not already exist.

ParametersbugThe IBug the nomination should be for. If None, one will be created.
targetThe IProductSeries, IDistroSeries or ISourcePackage to nominate for.
def makeBugTracker(self, base_url=None, bugtrackertype=None, title=None, name=None):
Make a new bug tracker.
def makeBugTrackerWithWatches(self, base_url=None, count=2):
Make a new bug tracker with some watches.
def makeBugTrackerComponentGroup(self, name=None, bug_tracker=None):
Make a new bug tracker component group.
def makeBugTrackerComponent(self, name=None, component_group=None, custom=None):
Make a new bug tracker component.
def makeBugWatch(self, remote_bug=None, bugtracker=None, bug=None, owner=None, bug_task=None):
Make a new bug watch.
def makeBugComment(self, bug=None, owner=None, subject=None, body=None, bug_watch=None):
Create and return a new bug comment.
ParametersbugAn IBug or a bug ID or name, or None, in which case a new bug is created.
ownerAn IPerson, or None, in which case a new person is created.
subjectAn IMessage or a string, or None, in which case a new message will be generated.
bodyAn IMessage or a string, or None, in which case a new message will be generated.
bug_watchAn IBugWatch, which will be used to set the new comment's bugwatch attribute.
ReturnsAn IBugMessage.
def makeBugAttachment(self, bug=None, owner=None, data=None, comment=None, filename=None, content_type=None, description=None, is_patch=_DEFAULT):
Create and return a new bug attachment.
ParametersbugAn IBug or a bug ID or name, or None, in which case a new bug is created.
ownerAn IPerson, or None, in which case a new person is created.
dataA file-like object or a string, or None, in which case a unique string will be used.
commentAn IMessage or a string, or None, in which case a new message will be generated.
filenameA string, or None, in which case a unique string will be used.
content_typeThe MIME-type of this file.
descriptionThe description of the attachment.
is_patchIf true, this attachment is a patch.
ReturnsAn IBugAttachment.
def makeSignedMessage(self, msgid=None, body=None, subject=None, attachment_contents=None, force_transfer_encoding=False, email_address=None, signing_context=None, to_address=None):
Return an ISignedMessage.
ParametersmsgidAn rfc2822 message-id.
bodyThe body of the message.
attachment_contentsThe contents of an attachment.
force_transfer_encodingIf True, ensure a transfer encoding is used.
email_addressThe address the mail is from.
signing_contextA GPGSigningContext instance containing the gpg key to sign with. If None, the message is unsigned. The context also contains the password and gpg signing mode.
def makeSpecification(self, product=None, title=None, distribution=None, name=None, summary=None, owner=None, status=NewSpecificationDefinitionStatus.NEW, implementation_status=None, goal=None, specurl=None, assignee=None, drafter=None, approver=None, whiteboard=None, milestone=None, information_type=None, priority=None):
Create and return a new, arbitrary Blueprint.
ParametersproductThe product to make the blueprint on. If one is not specified, an arbitrary product is created.
def makeSpecificationWorkItem(self, title=None, specification=None, assignee=None, milestone=None, deleted=False, status=SpecificationWorkItemStatus.TODO, sequence=None):
Undocumented
def makeQuestion(self, target=None, title=None, owner=None, description=None, **kwargs):
Create and return a new, arbitrary Question.
ParameterstargetThe IQuestionTarget to make the question on. If one is not specified, an arbitrary product is created.
titleThe question title. If one is not provided, an arbitrary title is created.
ownerThe owner of the question. If one is not provided, the question target owner will be used.
descriptionThe question description.
def makeQuestionSubscription(self, question=None, person=None):
Create a QuestionSubscription.
def makeFAQ(self, target=None, title=None):
Create and return a new, arbitrary FAQ.
ParameterstargetThe IFAQTarget to make the FAQ on. If one is not specified, an arbitrary product is created.
titleThe FAQ title. If one is not provided, an arbitrary title is created.
def makePackageCodeImport(self, sourcepackage=None, **kwargs):
Make a code import targetting a sourcepackage.
def makeProductCodeImport(self, product=None, **kwargs):
Make a code import targetting a product.
def makeCodeImport(self, svn_branch_url=None, cvs_root=None, cvs_module=None, context=None, branch_name=None, git_repo_url=None, bzr_branch_url=None, registrant=None, rcs_type=None, target_rcs_type=None, review_status=None, owner=None):
Create and return a new, arbitrary code import.

The type of code import will be inferred from the source details passed in, but defaults to a Subversion->Bazaar import from an arbitrary unique URL. (If the target type is specified as Git, then the source type instead defaults to Git.)

def makeChangelog(self, spn=None, versions=):
Create and return a LFA of a valid Debian-style changelog.

Note that the changelog returned is unicode - this is deliberate so that code is forced to cope with it as utf-8 changelogs are normal.

def makeCodeImportEvent(self, code_import=None):
Create and return a CodeImportEvent.
def makeCodeImportJob(self, code_import=None):
Create and return a new code import job for the given import.

This implies setting the import's review_status to REVIEWED.

def makeCodeImportMachine(self, set_online=False, hostname=None):
Return a new CodeImportMachine.

The machine will be in the OFFLINE state.

def makeCodeImportResult(self, code_import=None, result_status=None, date_started=None, date_finished=None, log_excerpt=None, log_alias=None, machine=None):
Create and return a new CodeImportResult.
def makeCodeReviewComment(self, sender=None, subject=None, body=None, vote=None, vote_tag=None, parent=None, merge_proposal=None, date_created=DEFAULT, git=False):
Undocumented
def makeCodeReviewVoteReference(self, git=False):
Undocumented
def makeMessage(self, subject=None, content=None, parent=None, owner=None, datecreated=None):
Undocumented
def makeLanguage(self, language_code=None, name=None, pluralforms=None, plural_expression=None):
Makes a language given the language_code and name.
def makeLanguagePack(self, distroseries=None, languagepack_type=None):
Create a language pack.
def makeLibraryFileAlias(self, filename=None, content=None, content_type='text/plain', restricted=False, expires=None, db_only=False):
Make a library file, and return the alias.
def makeDistribution(self, name=None, displayname=None, owner=None, registrant=None, members=None, title=None, aliases=None, bug_supervisor=None, driver=None, publish_root_dir=None, publish_base_url=None, publish_copy_base_url=None, no_pubconf=False, icon=None, summary=None, vcs=None):
Make a new distribution.
def makeDistroSeries(self, distribution=None, version=None, status=SeriesStatus.DEVELOPMENT, previous_series=None, name=None, displayname=None, registrant=None):
Make a new DistroSeries.
def makeUbuntuDistroSeries(self, version=None, status=SeriesStatus.DEVELOPMENT, previous_series=None, name=None, displayname=None):
Short cut to use the celebrity 'ubuntu' as the distribution.
def makeDistroSeriesDifference(self, derived_series=None, source_package_name_str=None, versions=None, difference_type=DistroSeriesDifferenceType.DIFFERENT_VERSIONS, status=DistroSeriesDifferenceStatus.NEEDS_ATTENTION, changelogs=None, set_base_version=False, parent_series=None):
Create a new distro series source package difference.
def makeDistroSeriesDifferenceComment(self, distro_series_difference=None, owner=None, comment=None):
Create a new distro series difference comment.
def makeDistroSeriesParent(self, derived_series=None, parent_series=None, initialized=False, is_overlay=False, inherit_overrides=False, pocket=None, component=None):
Undocumented
def makeDistroArchSeries(self, distroseries=None, architecturetag=None, processor=None, official=True, owner=None, enabled=True):
Create a new distroarchseries
def makeComponent(self, name=None):
Make a new IComponent.
def makeComponentSelection(self, distroseries=None, component=None):
Make a new ComponentSelection.
ParametersdistroseriesOptional DistroSeries. If none is given, one will be created.
componentOptional Component or a component name. If none is given, one will be created.
def makeArchive(self, distribution=None, owner=None, name=None, purpose=None, enabled=True, private=False, virtualized=True, description=None, displayname=None, suppress_subscription_notifications=False, processors=None):
Create and return a new arbitrary archive.
ParametersdistributionSupply IDistribution, defaults to a new one made with makeDistribution() for non-PPAs and ubuntu for PPAs.
ownerSupply IPerson, defaults to a new one made with makePerson().
nameName of the archive, defaults to a random string.
purposeSupply ArchivePurpose, defaults to PPA.
enabledWhether the archive is enabled.
privateWhether the archive is created private.
virtualizedWhether the archive is virtualized.
descriptionA description of the archive.
suppress_subscription_notificationsWhether to suppress subscription notifications, defaults to False. Only useful for private archives.
def makeArchiveAdmin(self, archive=None):
Make an Archive Admin.

Make and return an IPerson who has an ArchivePermission to admin the distroseries queue.

ParametersarchiveThe IArchive, will be auto-created if None.
def makeArchiveFile(self, archive=None, container=None, path=None, library_file=None, scheduled_deletion_date=None):
Undocumented
def makeBuilder(self, processors=None, url=None, name=None, title=None, owner=None, active=True, virtualized=True, vm_host=None, vm_reset_protocol=None, manual=False):
Make a new builder for i386 virtualized builds by default.

Note: the builder returned will not be able to actually build - we currently have a build slave setup for 'bob' only in the test environment.

def makeRecipeText(self, *branches):
Undocumented
def makeRecipe(self, *branches):
Make a builder recipe that references branches.

If no branches are passed, return a recipe text that references an arbitrary branch.

def makeSourcePackageRecipeDistroseries(self, name='warty'):
Return a supported Distroseries to use with Source Package Recipes.

Ew. This uses sampledata currently, which is the ONLY reason this method exists: it gives us a migration path away from sampledata.

def makeSourcePackageRecipe(self, registrant=None, owner=None, distroseries=None, name=None, description=None, branches=(), build_daily=False, daily_build_archive=None, is_stale=None, recipe=None, date_created=DEFAULT):
Make a SourcePackageRecipe.
def makeSourcePackageRecipeBuild(self, sourcepackage=None, recipe=None, requester=None, archive=None, sourcename=None, distroseries=None, pocket=None, date_created=None, status=BuildStatus.NEEDSBUILD, duration=None):
Make a new SourcePackageRecipeBuild.
def makeTranslationTemplatesBuild(self, branch=None):
Make a new TranslationTemplatesBuild.
ParametersbranchThe branch that the build should be for. If none is given, one will be created.
def makePOTemplate(self, productseries=None, distroseries=None, sourcepackagename=None, owner=None, name=None, translation_domain=None, path=None, copy_pofiles=True, side=None, sourcepackage=None, iscurrent=True):
Make a new translation template.
def makePOTemplateAndPOFiles(self, language_codes, **kwargs):
Create a POTemplate and associated POFiles.

Create a POTemplate for the given distroseries/sourcepackagename or productseries and create a POFile for each language. Returns the template.

def makePOFile(self, language_code=None, potemplate=None, owner=None, create_sharing=False, language=None, side=None):
Make a new translation file.
def makePOTMsgSet(self, potemplate=None, singular=None, plural=None, context=None, sequence=None, commenttext=None, filereferences=None, sourcecomment=None, flagscomment=None):
Make a new POTMsgSet in the given template.
def makePOFileAndPOTMsgSet(self, language_code=None, msgid=None, with_plural=False, side=None):
Make a POFile with a POTMsgSet.
def makeTranslationsDict(self, translations=None):
Make sure translations are stored in a dict, e.g. {0: "foo"}.

If translations is already dict, it is returned unchanged. If translations is a sequence, it is enumerated into a dict. If translations is None, an arbitrary single translation is created.

def makeSuggestion(self, pofile=None, potmsgset=None, translator=None, translations=None, date_created=None):
Make a new suggested TranslationMessage in the given PO file.
def makeCurrentTranslationMessage(self, pofile=None, potmsgset=None, translator=None, reviewer=None, translations=None, diverged=False, current_other=False, date_created=None, date_reviewed=None, language=None, side=None, potemplate=None):
Create a TranslationMessage and make it current.

By default the message will only be current on the side (Ubuntu or upstream) that pofile is on.

Be careful: if the message is already translated, calling this method may violate database unique constraints.

ParameterspofilePOFile to put translation in; if omitted, one will be created.
potmsgsetPOTMsgSet to translate; if omitted, one will be created (with sequence number 1).
translatorPerson who created the translation. If omitted, one will be created.
reviewerPerson who reviewed the translation. If omitted, one will be created.
translationsStrings to translate the POTMsgSet to. Can be either a list, or a dict mapping plural form numbers to the forms' respective translations. If omitted, will translate to a single random string.
divergedCreate a diverged message?
current_otherShould the message also be current on the other translation side? (Cannot be combined with diverged).
date_createdForce a specific creation date instead of 'now'.
date_reviewedForce a specific review date instead of 'now'.
languageLanguage to use for the POFile
sideThe TranslationSide this translation should be for.
potemplateIf provided, the POTemplate to use when creating the POFile.
def makeDivergedTranslationMessage(self, pofile=None, potmsgset=None, translator=None, reviewer=None, translations=None, date_created=None):
Create a diverged, current TranslationMessage.
def makeTranslationImportQueueEntry(self, path=None, productseries=None, distroseries=None, sourcepackagename=None, potemplate=None, content=None, uploader=None, pofile=None, format=None, status=None, by_maintainer=False):
Create a TranslationImportQueueEntry.
def makeMailingList(self, team, owner):
Create a mailing list for the team.
def makeTeamAndMailingList(self, team_name, owner_name, visibility=None, membership_policy=TeamMembershipPolicy.OPEN):
Make a new active mailing list for the named team.
Parametersteam_nameThe new team's name. (type: string)
owner_nameThe name of the team's owner.
owner (type: string)
visibilityThe team's visibility. If it's None, the default (public) will be used. (type: PersonVisibility)
membership_policyThe membership policy of the team. (type: TeamMembershipPolicy)
ReturnsThe new team and mailing list. (type: (ITeam, IMailingList))
def makeTeamWithMailingListSubscribers(self, team_name, super_team=None, auto_subscribe=True):
Create a team, mailing list, and subscribers.
Parametersteam_nameThe name of the team to create.
super_teamMake the team a member of the super_team.
auto_subscribeAutomatically subscribe members to the mailing list.
ReturnsA tuple of team and the member user.
def makeMirrorProbeRecord(self, mirror):
Create a probe record for a mirror of a distribution.
def makeMirror(self, distribution, displayname=None, country=None, http_url=None, ftp_url=None, rsync_url=None, official_candidate=False):
Create a mirror for the distribution.
def makeUniqueRFC822MsgId(self):
Make a unique RFC 822 message id.

The created message id is guaranteed not to exist in the Message table already.

def makeSourcePackageName(self, name=None):
Make an ISourcePackageName.
def getOrMakeSourcePackageName(self, name=None):
Get an existing`ISourcePackageName` or make a new one.

This method encapsulates getOrCreateByName so that tests can be kept free of the getUtility(ISourcePackageNameSet) noise.

def makeSourcePackage(self, sourcepackagename=None, distroseries=None, publish=False):
Make an ISourcePackage.
Parameterspublishif true, create a corresponding SourcePackagePublishingHistory.
def getAnySourcePackageUrgency(self):
Undocumented
def makePackageUpload(self, distroseries=None, archive=None, pocket=None, changes_filename=None, changes_file_content=None, signing_key=None, status=None, package_copy_job=None):
Undocumented
def makeSourcePackageUpload(self, distroseries=None, sourcepackagename=None, component=None):
Make a PackageUpload with a PackageUploadSource attached.
def makeBuildPackageUpload(self, distroseries=None, pocket=None, binarypackagename=None, source_package_release=None, component=None):
Make a PackageUpload with a PackageUploadBuild attached.
def makeCustomPackageUpload(self, distroseries=None, archive=None, pocket=None, custom_type=None, filename=None):
Make a PackageUpload with a PackageUploadCustom attached.
def makeCopyJobPackageUpload(self, distroseries=None, sourcepackagename=None, source_archive=None, target_pocket=None, requester=None, include_binaries=False):
Make a PackageUpload with a PackageCopyJob attached.
def makeSourcePackageRelease(self, archive=None, sourcepackagename=None, distroseries=None, maintainer=None, creator=None, component=None, section_name=None, urgency=None, version=None, builddepends=None, builddependsindep=None, build_conflicts=None, build_conflicts_indep=None, architecturehintlist='all', dsc_maintainer_rfc822=None, dsc_standards_version='3.6.2', dsc_format='1.0', dsc_binaries='foo-bin', date_uploaded=UTC_NOW, source_package_recipe_build=None, dscsigningkey=None, user_defined_fields=None, changelog_entry=None, homepage=None, changelog=None, copyright=None):
Make a SourcePackageRelease.
def makeSourcePackageReleaseFile(self, sourcepackagerelease=None, library_file=None, filetype=None):
Undocumented
def makeBinaryPackageBuild(self, source_package_release=None, distroarchseries=None, archive=None, builder=None, status=None, pocket=None, date_created=None, processor=None, sourcepackagename=None, arch_indep=None):
Create a BinaryPackageBuild.

If archive is not supplied, the source_package_release is used
to determine archive.
:param source_package_release: The SourcePackageRelease this binary
    build uses as its source.
:param sourcepackagename: when source_package_release is None, the
    sourcepackagename from which the build will come.
:param distroarchseries: The DistroArchSeries to use. Defaults to the
    one from the source_package_release, or a new one if not provided.
:param archive: The Archive to use. Defaults to the one from the
    source_package_release, or the distro arch series main archive
    otherwise.
:param builder: An optional builder to assign.
:param status: The BuildStatus for the build.
def makeSourcePackagePublishingHistory(self, distroseries=None, archive=None, sourcepackagerelease=None, pocket=None, status=None, dateremoved=None, date_uploaded=UTC_NOW, scheduleddeletiondate=None, ancestor=None, creator=None, packageupload=None, spr_creator=None, **kwargs):
Make a `SourcePackagePublishingHistory`.

:param sourcepackagerelease: The source package release to publish
    If not provided, a new one will be created.
:param distroseries: The distro series in which to publish.
    Default to the source package release one, or a new one will
    be created when not provided.
:param archive: The archive to publish into. Default to the
    initial source package release  upload archive, or to the
    distro series main archive.
:param pocket: The pocket to publish into. Can be specified as a
    string. Defaults to the BACKPORTS pocket.
:param status: The publication status. Defaults to PENDING. If
    set to PUBLISHED, the publisheddate will be set to now.
:param dateremoved: The removal date.
:param date_uploaded: The upload date. Defaults to now.
:param scheduleddeletiondate: The date where the publication
    is scheduled to be removed.
:param ancestor: The publication ancestor parameter.
:param creator: The publication creator.
:param **kwargs: All other parameters are passed through to the
    makeSourcePackageRelease call if needed.
def makeBinaryPackagePublishingHistory(self, binarypackagerelease=None, binarypackagename=None, distroarchseries=None, component=None, section_name=None, priority=None, status=None, scheduleddeletiondate=None, dateremoved=None, datecreated=None, pocket=None, archive=None, source_package_release=None, binpackageformat=None, sourcepackagename=None, version=None, architecturespecific=False, with_debug=False, with_file=False):
Make a BinaryPackagePublishingHistory.
def makeSPPHForBPPH(self, bpph):
Produce a SourcePackagePublishingHistory to match bpph.
ParametersbpphA BinaryPackagePublishingHistory.
ReturnsA SourcePackagePublishingHistory stemming from the same source package as bpph, published into the same distroseries, pocket, and archive.
def makeBinaryPackageName(self, name=None):
Make an IBinaryPackageName.
def getOrMakeBinaryPackageName(self, name=None):
Get an existing IBinaryPackageName or make a new one.

This method encapsulates getOrCreateByName so that tests can be kept free of the getUtility(IBinaryPackageNameSet) noise.

def makeBinaryPackageFile(self, binarypackagerelease=None, library_file=None, filetype=None):
Undocumented
def makeBinaryPackageRelease(self, binarypackagename=None, version=None, build=None, binpackageformat=None, component=None, section_name=None, priority=None, architecturespecific=False, summary=None, description=None, shlibdeps=None, depends=None, recommends=None, suggests=None, conflicts=None, replaces=None, provides=None, pre_depends=None, enhances=None, breaks=None, essential=False, installed_size=None, date_created=None, debug_package=None, homepage=None):
Make a BinaryPackageRelease.
def makeSection(self, name=None):
Make a Section.
def makePackageset(self, name=None, description=None, owner=None, packages=(), distroseries=None, related_set=None):
Make an IPackageset.
def makeDistroArchSeriesFilter(self, distroarchseries=None, packageset=None, sense=DistroArchSeriesFilterSense.INCLUDE, creator=None, date_created=DEFAULT):
Make a new DistroArchSeriesFilter.
def getAnyPocket(self):
Undocumented
def makeSuiteSourcePackage(self, distroseries=None, sourcepackagename=None, pocket=None):
Undocumented
def makeDistributionSourcePackage(self, sourcepackagename=None, distribution=None, with_db=False):
Undocumented
def makeDSPCache(self, distroseries=None, sourcepackagename=None, official=True, binary_names=None, archive=None):
Undocumented
def makeEmailMessage(self, body=None, sender=None, to=None, attachments=None, encode_attachments=False):
Make an email message with possible attachments.
ParametersattachmentsShould be an interable of tuples containing (filename, content-type, payload)
def makeHWSubmission(self, date_created=None, submission_key=None, emailaddress=u'test@canonical.com', distroarchseries=None, private=False, contactable=False, system=None, submission_data=None, status=None):
Create a new HWSubmission.
def makeHWSubmissionDevice(self, submission, device, driver, parent, hal_device_id):
Create a new HWSubmissionDevice.
def makeSSHKeyText(self, key_type='ssh-rsa', comment=None):
Create new SSH public key text.
Parameterskey_typeIf specified, the type of SSH key to generate, as a public key algorithm name (https://www.iana.org/assignments/ssh-parameters/). Must be a member of SSH_TEXT_TO_KEY_TYPE. If unspecified, "ssh-rsa" is used.
def makeSSHKey(self, person=None, key_type='ssh-rsa', send_notification=True):
Create a new SSHKey.
ParameterspersonIf specified, the person to attach the key to. If unspecified, a person is created.
key_typeIf specified, the type of SSH key to generate, as a public key algorithm name (https://www.iana.org/assignments/ssh-parameters/). Must be a member of SSH_TEXT_TO_KEY_TYPE. If unspecified, "ssh-rsa" is used.
def makeBlob(self, blob=None, expires=None, blob_file=None):
Create a new TemporaryFileStorage BLOB.
def makeProcessedApportBlob(self, metadata):
Create a processed ApportJob with the specified metadata dict.

It doesn't actually run the job. It fakes it, and uses a fake librarian file so as to work without the librarian.

def makeLaunchpadService(self, person=None, version='devel'):
Undocumented
def makePackageDiff(self, from_source=None, to_source=None, requester=None, status=None, date_fulfilled=None, diff_content=None, diff_filename=None):
Create a new PackageDiff.
def makeOAuthConsumer(self, key=None, secret=None):
Undocumented
def makeOAuthRequestToken(self, consumer=None, date_created=None, reviewed_by=None, access_level=OAuthPermission.READ_PUBLIC):
Create a (possibly reviewed) OAuth request token.
def makeOAuthAccessToken(self, consumer=None, owner=None, access_level=OAuthPermission.READ_PUBLIC):
Create an OAuth access token.
def makeCVE(self, sequence, description=None, cvestate=CveStatus.CANDIDATE):
Create a new CVE record.
def makePublisherConfig(self, distribution=None, root_dir=None, base_url=None, copy_base_url=None):
Create a new PublisherConfig record.
def makePlainPackageCopyJob(self, package_name=None, package_version=None, source_archive=None, target_archive=None, target_distroseries=None, target_pocket=None, requester=None, include_binaries=False):
Create a new PlainPackageCopyJob.
def makeAccessPolicy(self, pillar=None, type=InformationType.PROPRIETARY, check_existing=False):
Undocumented
def makeAccessArtifact(self, concrete=None):
Undocumented
def makeAccessPolicyArtifact(self, artifact=None, policy=None):
Undocumented
def makeAccessArtifactGrant(self, artifact=None, grantee=None, grantor=None, concrete_artifact=None):
Undocumented
def makeAccessPolicyGrant(self, policy=None, grantee=None, grantor=None):
Undocumented
def makeFakeFileUpload(self, filename=None, content=None):
Return a zope.publisher.browser.FileUpload like object.

This can be useful while testing multipart form submission.

def makeCommercialSubscription(self, product, expired=False, voucher_id='new'):
Create a commercial subscription for the given product.
def grantCommercialSubscription(self, person, months=12):
Give 'person' a commercial subscription.
def makeLiveFS(self, registrant=None, owner=None, distroseries=None, name=None, metadata=None, require_virtualized=True, keep_binary_files_days=1, date_created=DEFAULT):
Make a new LiveFS.
def makeLiveFSBuild(self, requester=None, registrant=None, livefs=None, archive=None, distroarchseries=None, pocket=None, unique_key=None, metadata_override=None, version=None, date_created=DEFAULT, status=BuildStatus.NEEDSBUILD, builder=None, duration=None, **kwargs):
Make a new LiveFSBuild.
def makeLiveFSFile(self, livefsbuild=None, libraryfile=None):
Undocumented
def makeWebhook(self, target=None, delivery_url=None, secret=None, active=True, event_types=None):
Undocumented
def makeSnap(self, registrant=None, owner=None, distroseries=_DEFAULT, name=None, branch=None, git_ref=None, auto_build=False, auto_build_archive=None, auto_build_pocket=None, auto_build_channels=None, is_stale=None, require_virtualized=True, processors=None, date_created=DEFAULT, private=False, allow_internet=True, build_source_tarball=False, store_upload=False, store_series=None, store_name=None, store_secrets=None, store_channels=None):
Make a new Snap.
def makeSnapBuildRequest(self, snap=None, requester=None, archive=None, pocket=PackagePublishingPocket.UPDATES, channels=None):
Make a new SnapBuildRequest.
def makeSnapBuild(self, requester=None, registrant=None, snap=None, archive=None, distroarchseries=None, pocket=None, channels=None, date_created=DEFAULT, build_request=None, status=BuildStatus.NEEDSBUILD, builder=None, duration=None, **kwargs):
Make a new SnapBuild.
def makeSnapFile(self, snapbuild=None, libraryfile=None):
Undocumented
def makeSnappySeries(self, registrant=None, name=None, display_name=None, status=SeriesStatus.DEVELOPMENT, preferred_distro_series=None, date_created=DEFAULT, usable_distro_series=None, can_infer_distro_series=False):
Make a new SnappySeries.
def makeSnapBase(self, registrant=None, name=None, display_name=None, distro_series=None, build_channels=None, date_created=DEFAULT):
Make a new SnapBase.
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.