diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/querysetfilter.py')
-rw-r--r-- | bitbake/lib/toaster/toastergui/querysetfilter.py | 24 |
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 @@ | |||
1 | class 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() | ||