Mohidul Islam 4 лет назад
Родитель
Сommit
3ced02b113
3 измененных файлов с 19 добавлено и 11 удалено
  1. 10 4
      gauth/location_utils.py
  2. 5 3
      review/review_utils.py
  3. 4 4
      review_automation.sql

+ 10 - 4
gauth/location_utils.py

@@ -15,7 +15,13 @@ def populate_locations():
         loc_id = loc['name'].split('/')[-1]
         loc_name = loc['address']['locality']
         loc_website = loc['websiteUrl']
-        location, created = Location.objects.update_or_create(location_id=loc_id, location_name=loc_name,
-                                                              website_url=loc_website, owner=user)
-        if created:
-            print('A new location has been created!')
+        location = Location.objects.filter(location_id=loc_id).first()
+        if not location:
+            location = Location.objects.create(
+                location_id=loc_id,
+                location_name=loc_name,
+                website_url=loc_website,
+                owner=user
+            )
+        if location:
+            print('A new location has been created!')

+ 5 - 3
review/review_utils.py

@@ -1,4 +1,5 @@
 import re
+import time
 import json
 from requests import get, put, post
 from gauth.auth_utils import get_gmb_id, get_auth_header
@@ -85,7 +86,7 @@ def insert_review_into_database(reviews, loc_id):
                         replied_text=replied_text,
                         create_time=create_time
                     )
-                review.reply = reply
+            review.reply = reply
         else:
             review.reply = None
         review.save()
@@ -101,6 +102,7 @@ def sync_all_review(loc_id):
     headers = get_auth_header()
     while True:
         url = get_review_list_url(loc_id, next_page_token)
+        time.sleep(5)
         res = get(url, headers=headers)
         if res.status_code == 401:
             headers = get_auth_header()
@@ -158,7 +160,7 @@ def store_batch_of_reviews(reviews):
                         replied_text=replied_text,
                         create_time=create_time
                     )
-                review.reply = reply
+            review.reply = reply
         else:
             review.reply = None
         review.save()
@@ -200,7 +202,7 @@ def populate_reviews():
     locations = Location.objects.all().values('location_id')
     for loc in locations:
         loc_id = loc.get('location_id')
-        fetch_last_20_reviews(loc_id)
+        sync_all_review(loc_id)
     end = timezone.now()
     elapsed = end - start
     print(f'Elapsed time: {elapsed.seconds//60} minutes and {elapsed.seconds % 60} secs.')

Разница между файлами не показана из-за своего большого размера
+ 4 - 4
review_automation.sql


Некоторые файлы не были показаны из-за большого количества измененных файлов