示例#1
0
    def filter_tarif(self, tarif, queryset):
        """
        Filter the queryset by the tarif. Compute the
        intersection of intervals.

        :param tarif:          the tarif interval
        :param queryset:       the initial queryset
        """
        tarif = [int(v) for v in tarif]
        objects = []
        for o in queryset:
            o_tarif = [int(v) for v in o.tarif.split(",")]
            if get_overlap(tarif, o_tarif) > 0:
                objects.append(o)
        return objects
示例#2
0
 def test_get_overlap(self):
     self.assertEqual(utils.get_overlap([1,2], [3,4]), 0)
     self.assertEqual(utils.get_overlap([1,2], [2,4]), 1)
     self.assertEqual(utils.get_overlap([1,2], [1,4]), 2)
     self.assertEqual(utils.get_overlap([1,4], [3,4]), 2)