|
@@ -59,6 +59,49 @@ def reply_review(review, replied_text):
|
|
|
# return filtered_reviews
|
|
|
|
|
|
|
|
|
+# def insert_review_into_database(reviews, loc):
|
|
|
+# '''
|
|
|
+# Insert reviews to database.
|
|
|
+# :param unrecorded_reviews: all reviews for location.
|
|
|
+# :param loc: location that unrecorded_reviews belongs to.
|
|
|
+# :return: It insert all reviews if it is not exits in database and return nothing.
|
|
|
+# '''
|
|
|
+# for review in reviews:
|
|
|
+# review_id = review.get('reviewId')
|
|
|
+# # Check the review already exists in database then We don't need to store again.
|
|
|
+# rev = Review.objects.filter(pk=review_id).first()
|
|
|
+# if rev:
|
|
|
+# continue
|
|
|
+# comment = review.get('comment')
|
|
|
+# create_time = review.get('createTime')
|
|
|
+# update_time = review.get('updateTime')
|
|
|
+# star_rating = STAR_REVIEW_NUM[review.get('starRating')]
|
|
|
+# reviewer = review.get('reviewer')
|
|
|
+# reviewer_name = reviewer.get('displayName')
|
|
|
+# reviewer_photo = reviewer.get('profilePhotoUrl')
|
|
|
+# review_reply = review.get('reviewReply')
|
|
|
+# # Check if it is already replied.
|
|
|
+# if review_reply:
|
|
|
+# replied_text = review_reply.get('comment')
|
|
|
+# create_time = review_reply.get('updateTime')
|
|
|
+# reply = Reply.objects.create(replied_text=replied_text, create_time=create_time)
|
|
|
+# else:
|
|
|
+# reply = None
|
|
|
+
|
|
|
+# review = Review(
|
|
|
+# review_id=review_id,
|
|
|
+# comment=comment,
|
|
|
+# create_time=create_time,
|
|
|
+# update_time=update_time,
|
|
|
+# star_rating=star_rating,
|
|
|
+# reviewer_name=reviewer_name,
|
|
|
+# reviewer_photo=reviewer_photo,
|
|
|
+# location=loc,
|
|
|
+# reply=reply
|
|
|
+# )
|
|
|
+# review.save()
|
|
|
+
|
|
|
+
|
|
|
def insert_review_into_database(reviews, loc):
|
|
|
'''
|
|
|
Insert reviews to database.
|
|
@@ -66,39 +109,25 @@ def insert_review_into_database(reviews, loc):
|
|
|
:param loc: location that unrecorded_reviews belongs to.
|
|
|
:return: It insert all reviews if it is not exits in database and return nothing.
|
|
|
'''
|
|
|
- for review in reviews:
|
|
|
- review_id = review.get('reviewId')
|
|
|
+ for rev in reviews:
|
|
|
+ review_id = rev.get('reviewId')
|
|
|
# Check the review already exists in database then We don't need to store again.
|
|
|
- rev = Review.objects.filter(pk=review_id).first()
|
|
|
- if rev:
|
|
|
- continue
|
|
|
- comment = review.get('comment')
|
|
|
- create_time = review.get('createTime')
|
|
|
- update_time = review.get('updateTime')
|
|
|
- star_rating = STAR_REVIEW_NUM[review.get('starRating')]
|
|
|
- reviewer = review.get('reviewer')
|
|
|
- reviewer_name = reviewer.get('displayName')
|
|
|
- reviewer_photo = reviewer.get('profilePhotoUrl')
|
|
|
- review_reply = review.get('reviewReply')
|
|
|
+ review, created = Review.objects.get_or_create(pk=review_id)
|
|
|
+ review.comment = rev.get('comment')
|
|
|
+ review.create_time = rev.get('createTime')
|
|
|
+ review.update_time = rev.get('updateTime')
|
|
|
+ review.star_rating = STAR_REVIEW_NUM[rev.get('starRating')]
|
|
|
+ reviewer = rev.get('reviewer')
|
|
|
+ review.reviewer_name = reviewer.get('displayName')
|
|
|
+ review.reviewer_photo = reviewer.get('profilePhotoUrl')
|
|
|
+ review_reply = rev.get('reviewReply')
|
|
|
# Check if it is already replied.
|
|
|
if review_reply:
|
|
|
replied_text = review_reply.get('comment')
|
|
|
create_time = review_reply.get('updateTime')
|
|
|
- reply = Reply.objects.create(replied_text=replied_text, create_time=create_time)
|
|
|
+ review.reply = Reply.objects.create(replied_text=replied_text, create_time=create_time)
|
|
|
else:
|
|
|
- reply = None
|
|
|
-
|
|
|
- review = Review(
|
|
|
- review_id=review_id,
|
|
|
- comment=comment,
|
|
|
- create_time=create_time,
|
|
|
- update_time=update_time,
|
|
|
- star_rating=star_rating,
|
|
|
- reviewer_name=reviewer_name,
|
|
|
- reviewer_photo=reviewer_photo,
|
|
|
- location=loc,
|
|
|
- reply=reply
|
|
|
- )
|
|
|
+ review.reply = None
|
|
|
review.save()
|
|
|
|
|
|
|