summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/toastergui/querysetfilter.py
blob: 10cc988bce21588a0e65b021f70a2135445db35b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class QuerysetFilter(object):
    """ Filter for a queryset """

    def __init__(self, criteria=None):
        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
        """
        if self.criteria:
            return queryset.filter(self.criteria)
        else:
            return queryset