Пример #1
0
 def test_items_language_cache(self):
     """
     [recommendation.filter.Language] Test item in language cache system
     """
     for i in ITEMS:
         item = Item.objects.get(external_id=i["external_id"])
         for loc in item.locales.all():
             assert loc.locale_id in Locale.get_item_locales(item.pk), \
                 "Locale %s for item %s is not in cache (%s)" % (loc, item, Locale.get_item_locales(item.pk))
Пример #2
0
 def test_items_language_cache(self):
     """
     [recommendation.filter.Language] Test item in language cache system
     """
     for i in ITEMS:
         item = Item.objects.get(external_id=i["external_id"])
         for loc in item.locales.all():
             assert loc.locale_id in Locale.get_item_locales(item.pk), \
                 "Locale %s for item %s is not in cache (%s)" % (loc, item, Locale.get_item_locales(item.pk))
Пример #3
0
 def __call__(self, user, early_recommendation, size=None, **kwargs):
     """
     Call the filter
     """
     unsupported_langs = Locale.get_user_locales(user.pk).symmetric_difference(Locale.get_all_locales())
     #print list(Locale.items_by_locale[l] for l in unsupported_langs)
     unsupported_items = set(chain(*(Locale.get_items_by_locale(l) for l in unsupported_langs)))
     for item in unsupported_items:
         if not any(x in Locale.get_item_locales(item) for x in Locale.get_user_locales(user.pk)):
             early_recommendation[item-1] = -1000
     return early_recommendation