diff options
author | Dan McGee <dan@archlinux.org> | 2010-09-08 10:42:44 -0500 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-09-08 10:42:44 -0500 |
commit | e0bf193c555c2a07be2f37defb1270e9a1acb39c (patch) | |
tree | b33df96b07cbefa47c963296cbac936ab711f466 | |
parent | 6ca71c355d25c02747eec010563244740e5b8c54 (diff) |
Fix download links to work with package pools
With package pooling we don't put things in the '/any/' folder anymore under
each repository; they only show up in the actual architectures. Use a 'real'
architecture as part of the download link to rectify this. Fixes FS#20779.
Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r-- | packages/views.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/views.py b/packages/views.py index 6f05cb8f..784d2540 100644 --- a/packages/views.py +++ b/packages/views.py @@ -349,9 +349,13 @@ def download(request, name='', repo='', arch=''): mirrorurl = MirrorUrl.objects.filter(mirror__country='Any', mirror__public=True, mirror__active=True, protocol__protocol__iexact='HTTP')[0] + arch = pkg.arch.name + if arch == 'any': + # grab the first non-any arch to fake the download path + arch = Arch.objects.exclude(name='any')[0].name details = { 'host': mirrorurl.url, - 'arch': pkg.arch.name, + 'arch': arch, 'repo': pkg.repo.name.lower(), 'file': pkg.filename, } |