l.s.b.a.ArchiveNavigation(Navigation, FileNavigationMixin) : class documentation

Part of lp.soyuz.browser.archive View In Hierarchy

Navigation methods for IArchive.
Method traverse_build Undocumented
Method traverse_recipebuild Undocumented
Method traverse_sourcepub Undocumented
Method traverse_binarypub Undocumented
Method traverse_binaryhits Traverse to an IBinaryPackageReleaseDownloadCount.
Method traverse_subscription Undocumented
Method traverse_upload_permission Traverse the data part of the URL for upload permissions.
Method traverse_queue_admin_permission Traverse the data part of the URL for queue admin permissions.
Method traverse_dependency Traverse to an archive dependency by archive ID.
Method traverse_sourcefiles Traverse to a source file in the archive.
Method _traverse_publication Undocumented
Method _traverse_permission Traversal helper function.

Inherited from FileNavigationMixin:

Method traverse_files Traverse on filename in the archive domain.
@stepthrough('+build')
def traverse_build(self, name):
Undocumented
@stepthrough('+recipebuild')
def traverse_recipebuild(self, name):
Undocumented
@stepthrough('+sourcepub')
def traverse_sourcepub(self, name):
Undocumented
@stepthrough('+binarypub')
def traverse_binarypub(self, name):
Undocumented
def _traverse_publication(self, name, source):
Undocumented
@stepthrough('+binaryhits')
def traverse_binaryhits(self, name_str):

Traverse to an IBinaryPackageReleaseDownloadCount.

A matching path is something like this:

+binaryhits/foopkg/1.0/i386/2010-03-11/AU

To reach one where the country is None, use:

+binaryhits/foopkg/1.0/i386/2010-03-11/unknown
@stepthrough('+subscriptions')
def traverse_subscription(self, person_name):
Undocumented
@stepthrough('+upload')
def traverse_upload_permission(self, name):
Traverse the data part of the URL for upload permissions.
@stepthrough('+queue-admin')
def traverse_queue_admin_permission(self, name):
Traverse the data part of the URL for queue admin permissions.
def _traverse_permission(self, name, permission_type):
Traversal helper function.

The data part ("name") is a compound value of the format: user.item where item is a component or a source package name,

@stepthrough('+dependency')
def traverse_dependency(self, id):
Traverse to an archive dependency by archive ID.

We use IArchive.getArchiveDependency here, which is protected by launchpad.View, so you cannot get to a dependency of a private archive that you can't see.

@stepthrough('+sourcefiles')
def traverse_sourcefiles(self, sourcepackagename):

Traverse to a source file in the archive.

Normally, files in an archive are unique by filename, so the +files traversal is sufficient. Unfortunately, a gina-imported archive may contain the same filename with different contents due to a combination of epochs and less stringent checks applied by the upstream archive software. (In practice this only happens for source packages because that's normally all we import using gina.) This provides an unambiguous way to traverse to such files even with this problem.

The path scheme is:

+sourcefiles/:sourcename/:sourceversion/:filename
API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.