Beispiel #1
0
def rate_next_film(request, tag=None):
    mark_prev_films_as_seen(request)

    if settings.NEW_RATING_SYSTEM:
        rater = rating_helper.get_rater(request)
        films = rater.get_films_to_rate(1, tag)
    else:
        films = Film.get_films_to_rate(user, 1, tag)

    return render(request, "movies/rating/single_film_special.html", {
        'film': films[0] if len( films ) else None,
        'tag':tag,
        'rater':request.GET.get('rater'),
    })
Beispiel #2
0
def rate_next_film(request, tag=None):
    mark_prev_films_as_seen(request)

    if settings.NEW_RATING_SYSTEM:
        rater = rating_helper.get_rater(request)
        films = rater.get_films_to_rate(1, tag)
    else:
        films = Film.get_films_to_rate(user, 1, tag)

    return render(
        request, "movies/rating/single_film_special.html", {
            'film': films[0] if len(films) else None,
            'tag': tag,
            'rater': request.GET.get('rater'),
        })
Beispiel #3
0
def rate_films(request, tag=None):
    if settings.NEW_RATING_SYSTEM:
        films = BasketsRatingHelper.get_films_to_rate(request.user,
                settings.RATING_FILMS_NUMBER, tag)
    else:
        films = Film.get_films_to_rate(request.user,
                settings.RATING_FILMS_NUMBER, tag)

    if 'ajax' in request.GET:
        template = "movies/rate_movies_ajax.html"
    else:
        template = "movies/rate_movies.html"
    return render(request, template, {
        'films':films,
        'tag':tag,
        'mark_as_seen':True,
    })
Beispiel #4
0
    def test_rate_films(self):
        cache.set('test', True)
        self.assertTrue(cache.get('test'))
        
        cache.clear()
        self.assertTrue(cache.get('test') is None)

        settings.RATING_BASKET_SIZE = 20
        
        all_films = set()

        films = Film.get_films_to_rate(self.user, 20)
        all_films.update(f.id for f in films)
        logger.info("film ids: %r", [f.id for f in films])
        self.assertTrue(all(self.film_pos[f.id]<=20 for f in films))
        
        films[0].mark_as_seen(self.user)

        BasketItem.objects.create(film=films[1], wishlist=1,
                user=self.user)

        Rating.objects.create(type=1, film=films[2], rating=5, 
                parent=films[2], user=self.user)
      
        films = Film.get_films_to_rate(self.user, 17)
        for f in films:
            f.mark_as_seen(self.user)

        # second basket
        films = Film.get_films_to_rate(self.user, 10)
        all_films.update(f.id for f in films)
        logger.info("film ids: %r", [f.id for f in films])
        self.assertTrue(all(self.film_pos[f.id]>20 and self.film_pos[f.id]<=40 for f in films))
        for f in films:
            f.mark_as_seen(self.user)

        cache.clear()

        films = Film.get_films_to_rate(self.user, 10)
        all_films.update(f.id for f in films)
        self.assertTrue(all(self.film_pos[f.id]>20 and self.film_pos[f.id]<=40 for f in films))
        for f in films:
            f.mark_as_seen(self.user)

        films = Film.get_films_to_rate(self.user, 100)
        all_films.update(f.id for f in films)
        for f in films:
            f.mark_as_seen(self.user)
        self.assertEquals(len(films), 60)

        self.assertEquals(len(all_films), 100)

        self.assertFalse(Film.get_films_to_rate(self.user, 1))
Beispiel #5
0
    def test_rate_films(self):
        cache.set('test', True)
        self.assertTrue(cache.get('test'))
        
        cache.clear()
        self.assertTrue(cache.get('test') is None)

        settings.RATING_BASKET_SIZE = 20
        
        all_films = set()

        films = Film.get_films_to_rate(self.user, 20)
        all_films.update(f.id for f in films)
        logger.info("film ids: %r", [f.id for f in films])
        self.assertTrue(all(self.film_pos[f.id]<=20 for f in films))
        
        films[0].mark_as_seen(self.user)

        BasketItem.objects.create(film=films[1], wishlist=1,
                user=self.user)
        
        rating_helper.rate(self.user, 5, film_id=films[2].id)

        films = Film.get_films_to_rate(self.user, 17)
        for f in films:
            f.mark_as_seen(self.user)

        # second basket
        films = Film.get_films_to_rate(self.user, 10)
        all_films.update(f.id for f in films)
        logger.info("film ids: %r", [f.id for f in films])
        self.assertTrue(all(self.film_pos[f.id]>20 and self.film_pos[f.id]<=40 for f in films))
        for f in films:
            f.mark_as_seen(self.user)

        cache.clear()

        films = Film.get_films_to_rate(self.user, 10)
        all_films.update(f.id for f in films)
        self.assertTrue(all(self.film_pos[f.id]>20 and self.film_pos[f.id]<=40 for f in films))
        for f in films:
            f.mark_as_seen(self.user)

        films = Film.get_films_to_rate(self.user, 100)
        all_films.update(f.id for f in films)
        for f in films:
            f.mark_as_seen(self.user)
        self.assertEquals(len(films), 60)

        self.assertEquals(len(all_films), 100)

        self.assertFalse(Film.get_films_to_rate(self.user, 1))
Beispiel #6
0
def rate_films(request, tag=None):
    if not request.user.is_authenticated():
        request.unique_user.make_unique()
    mark_prev_films_as_seen(request)

    try:
        films_nr = int(request.GET.get('films_nr', 0))
    except ValueError, e:
        pass
    films_nr = films_nr or settings.RATING_FILMS_NUMBER

    if settings.NEW_RATING_SYSTEM:
        rater = rating_helper.get_rater(request)
        films = rater.get_films_to_rate(films_nr, tag)
    else:
        films = Film.get_films_to_rate(user, films_nr, tag)

    if 'ajax' in request.GET:
        template = "movies/rate_movies_ajax.html"
    else:
        template = "movies/rate_movies.html"
    response = render(request, template, {
        'films':films or [],
        'tag':tag,
        'rater': request.GET.get('rater'),
    })
    return response

@never_cache
def rate_next_film(request, tag=None):
    mark_prev_films_as_seen(request)
Beispiel #7
0
def rate_films(request, tag=None):
    if not request.user.is_authenticated():
        request.unique_user.make_unique()
    mark_prev_films_as_seen(request)

    try:
        films_nr = int(request.GET.get('films_nr', 0))
    except ValueError, e:
        pass
    films_nr = films_nr or settings.RATING_FILMS_NUMBER

    if settings.NEW_RATING_SYSTEM:
        rater = rating_helper.get_rater(request)
        films = rater.get_films_to_rate(films_nr, tag)
    else:
        films = Film.get_films_to_rate(user, films_nr, tag)

    if 'ajax' in request.GET:
        template = "movies/rate_movies_ajax.html"
    else:
        template = "movies/rate_movies.html"
    response = render(request, template, {
        'films': films or [],
        'tag': tag,
        'rater': request.GET.get('rater'),
    })
    return response


@never_cache
def rate_next_film(request, tag=None):