public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Slava Bacherikov" <slava@bacherikov.org.ua>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/generic/
Date: Sat, 14 Jul 2012 20:15:34 +0000 (UTC)	[thread overview]
Message-ID: <1342182837.43ed80e696fb1532ca2f6b693e4d9c9daf0fd668.bacher09@gentoo> (raw)

commit:     43ed80e696fb1532ca2f6b693e4d9c9daf0fd668
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Fri Jul 13 12:15:57 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Fri Jul 13 12:33:57 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=43ed80e6

Fix bug with loading keywords from database

---
 gpackages/apps/generic/views.py  |    6 +++---
 gpackages/apps/packages/views.py |   19 ++++++++++---------
 2 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/gpackages/apps/generic/views.py b/gpackages/apps/generic/views.py
index bb0b6c7..e8b5cdc 100644
--- a/gpackages/apps/generic/views.py
+++ b/gpackages/apps/generic/views.py
@@ -73,9 +73,9 @@ class MultipleFilterListViewMixin(object):
     allowed_many = {}
     m2m_filter = set()
 
-    base_queryset = None # should be queryset
-
     def get_queryset(self):
+        query = super(MultipleFilterListViewMixin, self).get_queryset()
+
         qs = filter_req(self.request.GET, self.allowed_filter)
         qs.update(filter_req(self.kwargs, self.allowed_filter))
 
@@ -92,7 +92,7 @@ class MultipleFilterListViewMixin(object):
                 raise Http404('no such order')
 
         qa = dynamic_filter(qs, self.allowed_filter, self.allowed_many)
-        queryset = self.base_queryset.filter(**qa).order_by(order)
+        queryset = query.filter(**qa).order_by(order)
 
         for q in qs.iterkeys():
             if q in self.m2m_filter:

diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
index 4c9b113..be0ad02 100644
--- a/gpackages/apps/packages/views.py
+++ b/gpackages/apps/packages/views.py
@@ -25,6 +25,10 @@ class ArchesContexView(ArchesViewMixin, ContextView):
         ret.update({'arches': self.get_arches()})
         return ret
 
+    def get_queryset(self):
+        query = super(ArchesContexView, self).get_queryset()
+        return query.prefetch_keywords(self.get_arches())
+
 class ContextArchListView(ArchesContexView, ListView):
     pass
 
@@ -68,8 +72,7 @@ class EbuildsListView(ContextArchListView):
         select_related('package',
                        'package__virtual_package',
                        'package__virtual_package__category'). \
-                       prefetch_related('package__repository'). \
-                       prefetch_keywords(arches)
+                       prefetch_related('package__repository')
 
 class EbuildDetailView(ArchesContexView, DetailView):
     template_name = 'ebuild.html'
@@ -78,8 +81,7 @@ class EbuildDetailView(ArchesContexView, DetailView):
     queryset = EbuildModel.objects.all(). \
         select_related('package',
                        'package__virtual_package',
-                       'package__virtual_package__category'). \
-                       prefetch_keywords(arches)
+                       'package__virtual_package__category')
 
     def get_object(self, queryset = None):
         pk = self.kwargs.get('pk')
@@ -130,11 +132,11 @@ class PackagesListsView(MultipleFilterListViewMixin, ContextArchListView):
     #INNER JOIN packages_virtualpackagemodel vp 
     #ON( `vp`.id = t.virtual_package_id) INNER JOIN `packages_categorymodel` cp
     #ON (vp.category_id = cp.id);
-    base_queryset = PackageModel.objects.all(). \
+    queryset = PackageModel.objects.all(). \
         select_related('virtual_package',
                        'virtual_package__category'). \
-        prefetch_related('repository', 'herds', 'maintainers'). \
-        prefetch_keywords(arches)
+        prefetch_related('repository', 'herds', 'maintainers')
+        #prefetch_keywords(['sparc-solaris', 'sparc64-solaris'])
 
 class PackageDetailView(ArchesContexView, DetailView):
     template_name = 'package.html'
@@ -143,8 +145,7 @@ class PackageDetailView(ArchesContexView, DetailView):
     queryset = PackageModel.objects.all(). \
         select_related('virtual_package',
                        'virtual_package__category'). \
-        prefetch_related('repository'). \
-        prefetch_keywords(arches)
+        prefetch_related('repository')
 
     def get_object(self, queryset = None):
         pk = self.kwargs.get('pk')



             reply	other threads:[~2012-07-14 20:15 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-14 20:15 Slava Bacherikov [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-08-27 21:19 [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/generic/ Slava Bacherikov
2012-07-30 12:59 Slava Bacherikov
2012-07-10 23:13 Slava Bacherikov
2012-07-10 23:13 Slava Bacherikov
2012-06-30 21:02 Slava Bacherikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1342182837.43ed80e696fb1532ca2f6b693e4d9c9daf0fd668.bacher09@gentoo \
    --to=slava@bacherikov.org.ua \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox