DmitrMakeev commited on
Commit
454005f
1 Parent(s): 43306ab

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -5
app.py CHANGED
@@ -792,7 +792,7 @@ def update_or_insert_user(db_name, user_data, mapping_template):
792
  return
793
 
794
  logging.debug(f"Processing user with email: {email}")
795
-
796
  # Проверка существования пользователя в базе данных по email
797
  cursor.execute("SELECT web_st FROM contacts WHERE email = ?", (email,))
798
  user = cursor.fetchone()
@@ -809,16 +809,22 @@ def update_or_insert_user(db_name, user_data, mapping_template):
809
  # Обновление значения web_st
810
  cursor.execute("UPDATE contacts SET web_st = ? WHERE email = ?", (web_st_value, email))
811
  conn.commit()
 
812
  logging.debug(f"User {email} web_st updated to {web_st_value}")
813
  else:
 
814
  logging.debug(f"User {email} not found, proceeding with insert")
815
 
 
 
 
 
816
  # Преобразование данных пользователя на основе шаблона сопоставления
817
  transformed_data = {}
818
  for json_key, db_column in mapping_template.items():
819
  value = user_data.get(json_key, "")
820
  if isinstance(value, list):
821
- transformed_data[db_column] = "1" if value else "0"
822
  else:
823
  transformed_data[db_column] = str(value)
824
  logging.debug(f"Transformed data: {transformed_data}")
@@ -897,12 +903,14 @@ def send_get_request():
897
 
898
  users_meta = report_json.get('usersMeta', {})
899
 
900
- # Обновление или добавление каждого пользователя в базу данных data_gc.db
901
  processed_emails = set()
902
  for user_id, user_data in users_meta.items():
903
- user_data['messages'] = messages_json.get(user_id, []) # Извлечение сообщений конкретного пользователя
 
 
904
  email = user_data.get('email')
905
- if email not in processed_emails:
906
  update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
907
  processed_emails.add(email)
908
 
 
792
  return
793
 
794
  logging.debug(f"Processing user with email: {email}")
795
+
796
  # Проверка существования пользователя в базе данных по email
797
  cursor.execute("SELECT web_st FROM contacts WHERE email = ?", (email,))
798
  user = cursor.fetchone()
 
809
  # Обновление значения web_st
810
  cursor.execute("UPDATE contacts SET web_st = ? WHERE email = ?", (web_st_value, email))
811
  conn.commit()
812
+ conn.close()
813
  logging.debug(f"User {email} web_st updated to {web_st_value}")
814
  else:
815
+ conn.close()
816
  logging.debug(f"User {email} not found, proceeding with insert")
817
 
818
+ # Открываем соединение снова для остальных операций
819
+ conn = sqlite3.connect(db_name)
820
+ cursor = conn.cursor()
821
+
822
  # Преобразование данных пользователя на основе шаблона сопоставления
823
  transformed_data = {}
824
  for json_key, db_column in mapping_template.items():
825
  value = user_data.get(json_key, "")
826
  if isinstance(value, list):
827
+ transformed_data[db_column] = "; ".join(value) # Сохраняем сообщения в строку
828
  else:
829
  transformed_data[db_column] = str(value)
830
  logging.debug(f"Transformed data: {transformed_data}")
 
903
 
904
  users_meta = report_json.get('usersMeta', {})
905
 
906
+ # Обновление или добавление каждого пользователя в базу данных
907
  processed_emails = set()
908
  for user_id, user_data in users_meta.items():
909
+ # Получаем только сообщения для текущего пользователя
910
+ user_messages = messages_json.get(user_id, [])
911
+ user_data['messages'] = user_messages
912
  email = user_data.get('email')
913
+ if email and email not in processed_emails:
914
  update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
915
  processed_emails.add(email)
916