Part of lp.soyuz.browser.archive View In Hierarchy
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. |
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
The data part ("name") is a compound value of the format: user.item where item is a component or a source package name,
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.
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