Don't link to a one-element listing page from recent updates
If a package is built as a split package where pkgname != pkgbase, but only one actual split package is produced, the link on the recent update screen requires an extra click to get to the single package. Fix this by linking directly to the package itself. (Examples in current repos: ntfs-3g, python2-south) Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
7bf9c6e065
commit
f579f88e17
@ -1,3 +1,4 @@
|
||||
from collections import defaultdict
|
||||
from operator import attrgetter
|
||||
|
||||
from main.models import Arch, Repo, Package
|
||||
@ -44,10 +45,14 @@ def package_links(self):
|
||||
else:
|
||||
# fake out the template- this is slightly hacky but yields one
|
||||
# 'package-like' object per arch which is what the normal loop does
|
||||
arches = set()
|
||||
by_arch = defaultdict(list)
|
||||
for package in self.others:
|
||||
if package.arch not in arches and not arches.add(package.arch):
|
||||
yield PackageStandin(package)
|
||||
by_arch[package.arch].append(package)
|
||||
for arch, packages in by_arch.items():
|
||||
if len(packages) == 1:
|
||||
yield packages[0]
|
||||
else:
|
||||
yield PackageStandin(packages[0])
|
||||
|
||||
def __unicode__(self):
|
||||
return "RecentUpdate '%s %s' <%d packages>" % (
|
||||
|
Loading…
Reference in New Issue
Block a user