From 9cdc536fffc9e77903892c2b14e9462a6ec94ee5 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 12 Jan 2011 10:08:29 -0600 Subject: Add arch-specific group overview pages This is easy enough to refactor and support with our current infrastructure and group-fetching functions. Signed-off-by: Dan McGee --- packages/utils.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'packages/utils.py') diff --git a/packages/utils.py b/packages/utils.py index 93d0de7..aaec0ec 100644 --- a/packages/utils.py +++ b/packages/utils.py @@ -8,7 +8,7 @@ from main.utils import cache_function from .models import PackageGroup @cache_function(300) -def get_group_info(): +def get_group_info(include_arches=None): raw_groups = PackageGroup.objects.values_list( 'name', 'pkg__arch__name').order_by('name').annotate( cnt=Count('pkg'), last_update=Max('pkg__last_update')) @@ -38,10 +38,12 @@ def get_group_info(): new_g['arch'] = arch arch_groups[grp['name']] = new_g - # now transform it back into a sorted list + # now transform it back into a sorted list, including only the specified + # architectures if we got a list groups = [] - for val in group_mapping.itervalues(): - groups.extend(val.itervalues()) + for key, val in group_mapping.iteritems(): + if not include_arches or key in include_arches: + groups.extend(val.itervalues()) return sorted(groups, key=itemgetter('name', 'arch')) class Difference(object): -- cgit v1.2.3-24-g4f1b