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))
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))
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