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)
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'])