Spaces:
IrDelSol
/
Runtime error

DmitrMakeev commited on
Commit
23e85d5
·
verified ·
1 Parent(s): 503c3a4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -11
app.py CHANGED
@@ -795,7 +795,7 @@ def update_or_insert_user(db_name, user_data, mapping_template):
795
  logging.debug(f"Processing user with email: {email}")
796
 
797
  # Проверка существования пользователя в базе данных по email
798
- cursor.execute("SELECT web_st FROM contacts WHERE email = ?", (email,))
799
  user = cursor.fetchone()
800
  logging.debug(f"User found: {user}")
801
 
@@ -810,16 +810,10 @@ def update_or_insert_user(db_name, user_data, mapping_template):
810
  # Обновление значения web_st
811
  cursor.execute("UPDATE contacts SET web_st = ? WHERE email = ?", (web_st_value, email))
812
  conn.commit()
813
- conn.close()
814
  logging.debug(f"User {email} web_st updated to {web_st_value}")
815
  else:
816
- conn.close()
817
  logging.debug(f"User {email} not found, proceeding with insert")
818
 
819
- # Открываем соединение снова для остальных операций
820
- conn = sqlite3.connect(db_name)
821
- cursor = conn.cursor()
822
-
823
  # Преобразование данных пользователя на основе шаблона сопоставления
824
  transformed_data = {}
825
  for json_key, db_column in mapping_template.items():
@@ -870,6 +864,12 @@ def update_or_insert_user(db_name, user_data, mapping_template):
870
 
871
  # Обновление данных пользователя в базе данных
872
  if user:
 
 
 
 
 
 
873
  update_query = "UPDATE contacts SET "
874
  update_values = []
875
  for column, value in transformed_data.items():
@@ -880,6 +880,9 @@ def update_or_insert_user(db_name, user_data, mapping_template):
880
  logging.debug(f"Update query: {update_query} with values: {update_values}")
881
  cursor.execute(update_query, update_values)
882
  else:
 
 
 
883
  columns = ', '.join(transformed_data.keys())
884
  placeholders = ', '.join('?' for _ in transformed_data)
885
  insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
@@ -891,10 +894,6 @@ def update_or_insert_user(db_name, user_data, mapping_template):
891
  conn.commit()
892
  conn.close()
893
 
894
-
895
-
896
-
897
-
898
  @app.route('/send_get_request', methods=['GET'])
899
  def send_get_request():
900
  token = request.args.get('token')
 
795
  logging.debug(f"Processing user with email: {email}")
796
 
797
  # Проверка существования пользователя в базе данных по email
798
+ cursor.execute("SELECT web_st, b_mess FROM contacts WHERE email = ?", (email,))
799
  user = cursor.fetchone()
800
  logging.debug(f"User found: {user}")
801
 
 
810
  # Обновление значения web_st
811
  cursor.execute("UPDATE contacts SET web_st = ? WHERE email = ?", (web_st_value, email))
812
  conn.commit()
 
813
  logging.debug(f"User {email} web_st updated to {web_st_value}")
814
  else:
 
815
  logging.debug(f"User {email} not found, proceeding with insert")
816
 
 
 
 
 
817
  # Преобразование данных пользователя на основе шаблона сопоставления
818
  transformed_data = {}
819
  for json_key, db_column in mapping_template.items():
 
864
 
865
  # Обновление данных пользователя в базе данных
866
  if user:
867
+ # Объединение новых и старых сообщений
868
+ new_messages = user_data.get('messages', [])
869
+ old_messages = json.loads(user[1]) if user[1] else []
870
+ all_messages = old_messages + new_messages
871
+ transformed_data['b_mess'] = json.dumps(all_messages)
872
+
873
  update_query = "UPDATE contacts SET "
874
  update_values = []
875
  for column, value in transformed_data.items():
 
880
  logging.debug(f"Update query: {update_query} with values: {update_values}")
881
  cursor.execute(update_query, update_values)
882
  else:
883
+ # Преобразование сообщений в JSON
884
+ transformed_data['b_mess'] = json.dumps(user_data.get('messages', []))
885
+
886
  columns = ', '.join(transformed_data.keys())
887
  placeholders = ', '.join('?' for _ in transformed_data)
888
  insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
 
894
  conn.commit()
895
  conn.close()
896
 
 
 
 
 
897
  @app.route('/send_get_request', methods=['GET'])
898
  def send_get_request():
899
  token = request.args.get('token')