コード例 #1
0
 def test_users_region_cache(self):
     """
     [recommendation.filter.Region] Test user in region cache system
     """
     for u in USERS:
         user = User.objects.get(external_id=u["external_id"])
         for reg in user.regions.all():
             assert reg.region_id in Region.get_user_regions(user.pk), \
                 "Region %s for user %s is not in cache (%s)" % (reg, user, Region.get_user_regions(user.pk))
コード例 #2
0
 def test_users_region_cache(self):
     """
     [recommendation.filter.Region] Test user in region cache system
     """
     for u in USERS:
         user = User.objects.get(external_id=u["external_id"])
         for reg in user.regions.all():
             assert reg.region_id in Region.get_user_regions(user.pk), \
                 "Region %s for user %s is not in cache (%s)" % (reg, user, Region.get_user_regions(user.pk))
コード例 #3
0
 def __call__(self, user, early_recommendation, size=None, **kwargs):
     """
     Call the filter
     """
     user_regions = tuple([Region.get_item_list_by_region(region) for region in Region.get_user_regions(user.pk)])
     if len(user_regions) > 0:
         for item_id, score in enumerate(np.sum(user_regions, axis=0), start=1):
             if score == 0:
                 try:
                     early_recommendation[item_id-1] = -1000
                 except IndexError:
                     pass
     return early_recommendation