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 @@
+class QuerysetFilter(object):
+ """ Filter for a queryset """
+
+ def __init__(self, criteria=None):
+ if criteria:
+ self.set_criteria(criteria)
+
+ def set_criteria(self, criteria):
+ """
+ criteria is an instance of django.db.models.Q;
+ see https://docs.djangoproject.com/en/1.9/ref/models/querysets/#q-objects
+ """
+ self.criteria = criteria
+
+ def filter(self, queryset):
+ """
+ Filter queryset according to the criteria for this filter,
+ returning the filtered queryset
+ """
+ return queryset.filter(self.criteria)
+
+ def count(self, queryset):
+ """ Returns a count of the elements in the filtered queryset """
+ return self.filter(queryset).count()