summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/querysetfilter.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/toastergui/querysetfilter.py')
-rw-r--r--bitbake/lib/toaster/toastergui/querysetfilter.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/querysetfilter.py b/bitbake/lib/toaster/toastergui/querysetfilter.py
new file mode 100644
index 0000000000..62297e9b89
--- /dev/null
+++ b/bitbake/lib/toaster/toastergui/querysetfilter.py
@@ -0,0 +1,24 @@
1class QuerysetFilter(object):
2 """ Filter for a queryset """
3
4 def __init__(self, criteria=None):
5 if criteria:
6 self.set_criteria(criteria)
7
8 def set_criteria(self, criteria):
9 """
10 criteria is an instance of django.db.models.Q;
11 see https://docs.djangoproject.com/en/1.9/ref/models/querysets/#q-objects
12 """
13 self.criteria = criteria
14
15 def filter(self, queryset):
16 """
17 Filter queryset according to the criteria for this filter,
18 returning the filtered queryset
19 """
20 return queryset.filter(self.criteria)
21
22 def count(self, queryset):
23 """ Returns a count of the elements in the filtered queryset """
24 return self.filter(queryset).count()