def test_items_language_cache(self): """ [recommendation.diversity.Cache] Test item in genre cache system """ for i in ITEMS: item = Item.objects.get(external_id=i["external_id"]) for gen in item.genres.all(): assert gen.type.pk in ItemGenre.get_genre_by_item(item.pk), \ "Genre %s for item %s is not in cache" % (gen.type, item)
def __call__(self, recommendation, item_id): genres = ItemGenre.get_genre_by_item(item_id) dropped = 0 for genre in genres: self.counter[genre] -= 1 if self.counter[genre] < 0: dropped += 1 # Change "<" to "<=" improve greatly if dropped <= len(genres): # recommendation.append(item) return True return False