def tearDown(self): super(RecommendsMongoStorageTestCase, self).tearDown() recommendation_registry.unregister( RecVote, [RecProduct], MongoRecommendationProvider) recommendation_registry.register( RecVote, [RecProduct], ProductRecommendationProvider)
def tearDown(self): super(RecSysAlgoTestCase, self).tearDown() recommendation_registry.unregister( RecVote, [RecProduct], RecSysRecommendationProvider) recommendation_registry.register( RecVote, [RecProduct], ProductRecommendationProvider)
def setUp(self): recommendation_registry.unregister( RecVote, [RecProduct], ProductRecommendationProvider) recommendation_registry.register( RecVote, [RecProduct], MongoRecommendationProvider) super(RecommendsMongoStorageTestCase, self).setUp()
def setUp(self): recommendation_registry.unregister( RecVote, [RecProduct], ProductRecommendationProvider) recommendation_registry.register( RecVote, [RecProduct], RecSysRecommendationProvider) super(RecSysAlgoTestCase, self).setUp()
from django.contrib.auth.models import User from recommends.providers import RecommendationProvider from recommends.providers import recommendation_registry from .models import Post, Vote class ProductRecommendationProvider(RecommendationProvider): def get_users(self): return User.objects.filter(is_active=True, votes__isnull=False).distinct() def get_items(self): return Post.objects.all() def get_ratings(self, obj): return Vote.objects.filter(post=obj) def get_rating_score(self, rating): return rating.score def get_rating_site(self, rating): return rating.site def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.post recommendation_registry.register(Vote, [Post], ProductRecommendationProvider)
def get_users(self): return User.objects.filter(is_active=True, votes__isnull=False).distinct() def get_items(self): return VideoGame.objects.all() # def items_ignored(self): # Returns user ignored items. User can delete items from the list of recommended. def get_ratings(self, obj): return Vote.objects.filter(object_id=obj.id) def get_rating_user(self, rating): return rating.user def get_rating_score(self, rating): return rating.score def get_rating_item(self, rating): return VideoGame.objects.get(pk=rating.object_id) def get_rating_site(self, rating): return Site.objects.get_current() # def is_rating_active(self, rating) # def pre_store_similarities(self, itemMatch) # stats or visualize recommendation_registry.register(Vote, [VideoGame], VideoGameRecommendationProvider)
return unicode(item.Song.Title) + " by " + \ unicode(item.Song.Artist) + " from " + \ unicode(item.Song.Album) def item_link(self, item): # Not sure what to do with url as there isn't any unque url for song return "/queue/#" + unicode(int(round(time.time() * 1000))) class RecommendationsProvider(RecommendationProvider): def get_users(self): return User.objects.filter(is_active=True) def get_items(self): return Song.objects.all() def get_ratings(self, obj): return Favourite.objects.filter(Song=obj) def get_rating_score(self, rating): return 1 def get_rating_user(self, rating): return rating.User def get_rating_item(self, rating): return rating.Song recommendation_registry.register(Favourite, [Song], RecommendationsProvider)
return RecVote.objects.filter(product=obj) def get_rating_score(self, rating): return rating.score def get_rating_site(self, rating): return rating.site def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.product recommendation_registry.register( RecVote, [RecProduct], ProductRecommendationProvider) class GhettoRecommendationProvider(RecommendationProvider): def get_users(self): return User.objects.filter(is_active=True, rec_votes__isnull=False).distinct() def get_items(self): return RecProduct.objects.all() def get_ratings(self, obj): return RecVote.objects.filter(product=obj) def get_rating_score(self, rating):
def get_opinions_for_tags(tags): ''' Returns all the opinions for the supplied tags The tags are expected to be in a string - either space separated or comma separated ''' return TaggedItem.objects.get(Opinion,tags) def get_polls_for_tags(tags): ''' Returns all the polls for the supplied tags The tags are expected to be in a string - either space separated or comma separated ''' return TaggedItem.objects.get(Poll,tags) # Recommendation provider for polls. '''class PollRecommendationProvider(RecommendationProvider): def get_users(self): return User.objects.filter(is_active=True, votes__isnull=False).distinct() def get_items(self): return Poll.objects.all() def get_ratings(self, obj): return obj.rating.get_ratings() def get_rating_score(self, rating): return rating.score def get_rating_user(self, rating): return rating.user
from django.contrib.sites.models import Site from django.utils.encoding import python_2_unicode_compatible from recommends.providers import RecommendationProvider from recommends.providers import recommendation_registry from .models import Story, Vote from register.models import User class ProductRecommendationProvider(RecommendationProvider): def get_users(self): return User.objects.filter(votes__isnull=False).distinct() def get_items(self): return Story.objects.all() def get_ratings(self, obj): return Vote.objects.filter(story=obj) def get_rating_score(self, rating): return rating.score def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.product recommendation_registry.register(Vote, [Story], ProductRecommendationProvider)
def get_items(self): return Place.objects.all() def get_ratings(self, obj): return Vote.objects.filter(product=obj) def get_rating_score(self, rating): return rating.score def get_rating_site(self, rating): return rating.site def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.product recommendation_registry.register(Vote, [Place], PlaceRecommendationProvider) class MyProvider(PlaceRecommendationProvider): signals = ['django.db.models.post_save', 'django.db.models.pre_delete'] def post_save(self, sender, instance, **kwargs): # Code that handles what should happen… pass def pre_delete(self, sender, instance, **kwargs): # Code that handles what should happen… pass
return Establecimiento.objects.all() def get_ratings(self, obj): return obj.rating.get_ratings() def get_rating_score(self, rating): return rating.score def get_rating_site(self, rating): return Site.objects.get_current() #rating.ip_address def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.product #recommendation_registry.register(Vote, [Product], ProductRecommendationProvider) recommendation_registry.register(votos, [Establecimiento], EstablecimientosRecommender) """ from apps.recommender_system.models import EstablecimientosRecommender from apps.account_system.models import User recomendador_instance=EstablecimientosRecommender() recomendador_instance.precompute() recomendador_instance.storage.get_recommendations_for_user(User.objects.get(id=2)) """
def item_description(self, item): return unicode(item.Song.Title) + " by " + \ unicode(item.Song.Artist) + " from " + \ unicode(item.Song.Album) def item_link(self, item): # Not sure what to do with url as there isn't any unque url for song return "/queue/#" + unicode(int(round(time.time() * 1000))) class RecommendationsProvider(RecommendationProvider): def get_users(self): return User.objects.filter(is_active=True) def get_items(self): return Song.objects.all() def get_ratings(self, obj): return Favourite.objects.filter(Song=obj) def get_rating_score(self, rating): return 1 def get_rating_user(self, rating): return rating.User def get_rating_item(self, rating): return rating.Song recommendation_registry.register(Favourite, [Song], RecommendationsProvider)
def get_ratings(self, obj): return obj.rating.get_ratings() def get_rating_score(self, rating): return rating.score def get_rating_site(self, rating): return Site.objects.get_current()#rating.ip_address def get_rating_user(self, rating): return rating.user def get_rating_item(self, rating): return rating.product #recommendation_registry.register(Vote, [Product], ProductRecommendationProvider) recommendation_registry.register(votos, [Establecimiento], EstablecimientosRecommender) """ from apps.recommender_system.models import EstablecimientosRecommender from apps.account_system.models import User recomendador_instance=EstablecimientosRecommender() recomendador_instance.precompute() recomendador_instance.storage.get_recommendations_for_user(User.objects.get(id=2)) """