Example #1
0
 def tearDown(self):
     super(RecommendsMongoStorageTestCase, self).tearDown()
     recommendation_registry.unregister(
         RecVote,
         [RecProduct],
         MongoRecommendationProvider)
     recommendation_registry.register(
         RecVote,
         [RecProduct],
         ProductRecommendationProvider)
Example #2
0
 def tearDown(self):
     super(RecSysAlgoTestCase, self).tearDown()
     recommendation_registry.unregister(
         RecVote,
         [RecProduct],
         RecSysRecommendationProvider)
     recommendation_registry.register(
         RecVote,
         [RecProduct],
         ProductRecommendationProvider)
Example #3
0
 def setUp(self):
     recommendation_registry.unregister(
         RecVote,
         [RecProduct],
         ProductRecommendationProvider)
     recommendation_registry.register(
         RecVote,
         [RecProduct],
         MongoRecommendationProvider)
     super(RecommendsMongoStorageTestCase, self).setUp()
 def tearDown(self):
     super(RecommendsMongoStorageTestCase, self).tearDown()
     recommendation_registry.unregister(
         RecVote,
         [RecProduct],
         MongoRecommendationProvider)
     recommendation_registry.register(
         RecVote,
         [RecProduct],
         ProductRecommendationProvider)
Example #5
0
 def setUp(self):
     recommendation_registry.unregister(
         RecVote,
         [RecProduct],
         ProductRecommendationProvider)
     recommendation_registry.register(
         RecVote,
         [RecProduct],
         RecSysRecommendationProvider)
     super(RecSysAlgoTestCase, self).setUp()
 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)
Example #10
0
    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)
Example #11
0
        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):
Example #13
0
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
Example #14
0
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)
Example #15
0
    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
Example #16
0
        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))

"""
Example #17
0
        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):
Example #18
0
    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)
Example #19
0
    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))

"""