Пример #1
0
 def test_users_language_cache(self):
     """
     [recommendation.filter.Language] Test user in language cache system
     """
     for u in USERS:
         user = User.objects.get(external_id=u["external_id"])
         for loc in user.locales.all():
             assert loc.locale_id in Locale.get_user_locales(user.pk), \
                 "Locale %s for user %s is not in cache (%s)" % (loc, user, Locale.get_user_locales(user.pk))
Пример #2
0
 def test_users_language_cache(self):
     """
     [recommendation.filter.Language] Test user in language cache system
     """
     for u in USERS:
         user = User.objects.get(external_id=u["external_id"])
         for loc in user.locales.all():
             assert loc.locale_id in Locale.get_user_locales(user.pk), \
                 "Locale %s for user %s is not in cache (%s)" % (loc, user, Locale.get_user_locales(user.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