def removeSomeReviews(c):
    rows = c.getSession().execute('SELECT id FROM prs.users where reviews_filtered=false')
    for row in rows:
        logging.info("Getting reviews for user %s", row['id'])
        user=models.Users.get(id=row['id'])
        list=user.list_reviews
        if(list is None):
            user.reviews_filtered=True
            user.save()
            continue
        list.sort(key=lambda r: r.rating, reverse=True)
        index=0
        for i, r in enumerate(list):
            if(r.rating<3):
                index=i
                break
        if(index>0):
            list[index:] = []
        list[500:] = []
        user.list_reviews=[]
        for r in list:
            ac=models.user(id=r.actor.id, gid=r.actor.gid, name=r.actor.name, friends_count=r.actor.friends_count, reviews_count= r.actor.reviews_count,
            age=r.actor.age, gender=r.actor.gender, small_user=r.actor.small_user, private=r.actor.private)
            bk=models.book(id=r.book.id, gid=r.book.gid,  title=ascii(r.book.title),isbn=r.book.isbn, isbn13=r.book.isbn13,
            publication_date=r.book.publication_date, average_rating=r.book.average_rating,
            ratings_count=r.book.ratings_count, small_book=r.book.small_book, author=r.book.author)
            user.list_reviews.append(models.review(id=r.id, actor=ac, book=bk, gid=r.gid,
                                            rating=r.rating, text=ascii(r.text)))
        user.reviews_count=len(user.list_reviews)
        user.reviews_filtered=True
        user.save()
        logging.info("Finish removing some reviews for user %s", row['id'])
Ejemplo n.º 2
0
def reviews_to_review(review):
    return models.review(id=review.id,
                         gid=review.gid,
                         actor=review.actor,
                         book=review.book,
                         rating=review.rating,
                         text=review.text,
                         comments_count=review.comments_count)
Ejemplo n.º 3
0
def removeSomeReviews(c):
    rows = c.getSession().execute(
        'SELECT id FROM prs.users where reviews_filtered=false')
    for row in rows:
        logging.info("Getting reviews for user %s", row['id'])
        user = models.Users.get(id=row['id'])
        list = user.list_reviews
        if (list is None):
            user.reviews_filtered = True
            user.save()
            continue
        list.sort(key=lambda r: r.rating, reverse=True)
        index = 0
        for i, r in enumerate(list):
            if (r.rating < 3):
                index = i
                break
        if (index > 0):
            list[index:] = []
        list[500:] = []
        user.list_reviews = []
        for r in list:
            ac = models.user(id=r.actor.id,
                             gid=r.actor.gid,
                             name=r.actor.name,
                             friends_count=r.actor.friends_count,
                             reviews_count=r.actor.reviews_count,
                             age=r.actor.age,
                             gender=r.actor.gender,
                             small_user=r.actor.small_user,
                             private=r.actor.private)
            bk = models.book(id=r.book.id,
                             gid=r.book.gid,
                             title=ascii(r.book.title),
                             isbn=r.book.isbn,
                             isbn13=r.book.isbn13,
                             publication_date=r.book.publication_date,
                             average_rating=r.book.average_rating,
                             ratings_count=r.book.ratings_count,
                             small_book=r.book.small_book,
                             author=r.book.author)
            user.list_reviews.append(
                models.review(id=r.id,
                              actor=ac,
                              book=bk,
                              gid=r.gid,
                              rating=r.rating,
                              text=ascii(r.text)))
        user.reviews_count = len(user.list_reviews)
        user.reviews_filtered = True
        user.save()
        logging.info("Finish removing some reviews for user %s", row['id'])
def reviews_to_review(review):
    return models.review(id=review.id, gid=review.gid, actor=review.actor, book=review.book,
                         rating=review.rating, text=review.text, comments_count=review.comments_count)