DmitrMakeev commited on
Commit
1bc1876
·
verified ·
1 Parent(s): f256744

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -22
app.py CHANGED
@@ -797,7 +797,6 @@ def update_or_insert_user(db_name, user_data, mapping_template):
797
  conn = sqlite3.connect(db_name)
798
  cursor = conn.cursor()
799
 
800
- # Получение email пользователя из данных
801
  email = user_data.get('email')
802
  if not email:
803
  logging.error(f"User data missing email: {user_data}")
@@ -805,42 +804,36 @@ def update_or_insert_user(db_name, user_data, mapping_template):
805
 
806
  logging.debug(f"Processing user with email: {email}")
807
 
808
- # Проверка существования пользователя в базе данных по email
809
  cursor.execute("SELECT web_st, b_fin FROM contacts WHERE email = ?", (email,))
810
  user = cursor.fetchone()
811
  logging.debug(f"User found: {user}")
812
 
813
- # Вынесение увеличения значений web_st и b_fin в отдельные блоки
814
  web_st_value = 1 # Инициализация значения web_st
815
- b_fin_value = 0 # Инициализация значения b_fin
816
  if user:
817
- # Проверка текущих значений web_st и b_fin и их инкрементация
818
- current_web_st = user[0] if user[0] is not None and user[0] != "" else 0
819
- current_b_fin = user[1] if user[1] is not None and user[1] != "" else 0
820
-
821
- web_st_value = int(current_web_st) + 1
822
  if user_data.get('finished') == "True":
823
- b_fin_value = int(current_b_fin) + 1
824
  else:
825
- b_fin_value = current_b_fin
826
  logging.debug(f"Calculated web_st_value: {web_st_value}, b_fin_value: {b_fin_value}")
827
 
828
- # Обновление значений web_st и b_fin
829
  cursor.execute("UPDATE contacts SET web_st = ?, b_fin = ? WHERE email = ?", (web_st_value, b_fin_value, email))
830
  conn.commit()
831
  logging.debug(f"User {email} web_st updated to {web_st_value}, b_fin updated to {b_fin_value}")
832
  else:
833
  logging.debug(f"User {email} not found, proceeding with insert")
834
 
835
- # Преобразование данных пользователя на основе шаблона сопоставления
836
  transformed_data = {}
837
  for json_key, db_column in mapping_template.items():
838
  value = user_data.get(json_key, "")
839
-
840
  if isinstance(value, list):
841
- # Проверяем тип элементов списка
842
  if all(isinstance(item, str) for item in value):
843
- transformed_data[db_column] = "; ".join(value) # Сохраняем сообщения в строку
844
  else:
845
  logging.error(f"Expected list of strings for key {json_key}, but got: {value}")
846
  transformed_data[db_column] = ""
@@ -848,7 +841,6 @@ def update_or_insert_user(db_name, user_data, mapping_template):
848
  transformed_data[db_column] = str(value)
849
  logging.debug(f"Transformed data: {transformed_data}")
850
 
851
- # Заполнение обязательных полей значениями по умолчанию
852
  required_fields = [
853
  "vk_id", "chat_id", "ws_st", "ws_stop", "web_st", "fin_prog",
854
  "b_city", "b_fin", "b_ban", "b_ign", "b_baners", "b_butt", "b_mess",
@@ -860,7 +852,6 @@ def update_or_insert_user(db_name, user_data, mapping_template):
860
  transformed_data[field] = ""
861
  logging.debug(f"Transformed data after adding required fields: {transformed_data}")
862
 
863
- # Обработка номера телефона, если он есть
864
  if 'phone' in user_data:
865
  phone = user_data['phone']
866
  if phone.startswith('+'):
@@ -868,11 +859,9 @@ def update_or_insert_user(db_name, user_data, mapping_template):
868
  transformed_data['phone'] = phone
869
  logging.debug(f"Transformed data after phone processing: {transformed_data}")
870
 
871
- # Добавление значений web_st и b_fin в данные для вставки
872
- transformed_data['web_st'] = web_st_value
873
  transformed_data['b_fin'] = b_fin_value
874
 
875
- # Обновление данных пользователя в базе данных
876
  if user:
877
  update_query = "UPDATE contacts SET "
878
  update_values = []
@@ -891,13 +880,13 @@ def update_or_insert_user(db_name, user_data, mapping_template):
891
  logging.debug(f"Insert query: {insert_query} with values: {insert_values}")
892
  cursor.execute(insert_query, insert_values)
893
 
894
- # Подтверждение изменений и закрытие соединения
895
  conn.commit()
896
  conn.close()
897
  logging.debug(f"User with email {email} processed successfully")
898
 
899
 
900
 
 
901
  @app.route('/send_get_request', methods=['GET'])
902
  def send_get_request():
903
  token = request.args.get('token')
 
797
  conn = sqlite3.connect(db_name)
798
  cursor = conn.cursor()
799
 
 
800
  email = user_data.get('email')
801
  if not email:
802
  logging.error(f"User data missing email: {user_data}")
 
804
 
805
  logging.debug(f"Processing user with email: {email}")
806
 
 
807
  cursor.execute("SELECT web_st, b_fin FROM contacts WHERE email = ?", (email,))
808
  user = cursor.fetchone()
809
  logging.debug(f"User found: {user}")
810
 
 
811
  web_st_value = 1 # Инициализация значения web_st
812
+ b_fin_value = "0" # Инициализация значения b_fin в виде строки
813
  if user:
814
+ current_web_st = int(user[0]) if user[0] is not None and user[0] != "" else 0
815
+ current_b_fin = int(user[1]) if user[1] is not None and user[1] != "" else 0
816
+
817
+ web_st_value = current_web_st + 1
 
818
  if user_data.get('finished') == "True":
819
+ b_fin_value = str(current_b_fin + 1)
820
  else:
821
+ b_fin_value = str(current_b_fin)
822
  logging.debug(f"Calculated web_st_value: {web_st_value}, b_fin_value: {b_fin_value}")
823
 
 
824
  cursor.execute("UPDATE contacts SET web_st = ?, b_fin = ? WHERE email = ?", (web_st_value, b_fin_value, email))
825
  conn.commit()
826
  logging.debug(f"User {email} web_st updated to {web_st_value}, b_fin updated to {b_fin_value}")
827
  else:
828
  logging.debug(f"User {email} not found, proceeding with insert")
829
 
 
830
  transformed_data = {}
831
  for json_key, db_column in mapping_template.items():
832
  value = user_data.get(json_key, "")
833
+
834
  if isinstance(value, list):
 
835
  if all(isinstance(item, str) for item in value):
836
+ transformed_data[db_column] = "; ".join(value)
837
  else:
838
  logging.error(f"Expected list of strings for key {json_key}, but got: {value}")
839
  transformed_data[db_column] = ""
 
841
  transformed_data[db_column] = str(value)
842
  logging.debug(f"Transformed data: {transformed_data}")
843
 
 
844
  required_fields = [
845
  "vk_id", "chat_id", "ws_st", "ws_stop", "web_st", "fin_prog",
846
  "b_city", "b_fin", "b_ban", "b_ign", "b_baners", "b_butt", "b_mess",
 
852
  transformed_data[field] = ""
853
  logging.debug(f"Transformed data after adding required fields: {transformed_data}")
854
 
 
855
  if 'phone' in user_data:
856
  phone = user_data['phone']
857
  if phone.startswith('+'):
 
859
  transformed_data['phone'] = phone
860
  logging.debug(f"Transformed data after phone processing: {transformed_data}")
861
 
862
+ transformed_data['web_st'] = str(web_st_value)
 
863
  transformed_data['b_fin'] = b_fin_value
864
 
 
865
  if user:
866
  update_query = "UPDATE contacts SET "
867
  update_values = []
 
880
  logging.debug(f"Insert query: {insert_query} with values: {insert_values}")
881
  cursor.execute(insert_query, insert_values)
882
 
 
883
  conn.commit()
884
  conn.close()
885
  logging.debug(f"User with email {email} processed successfully")
886
 
887
 
888
 
889
+
890
  @app.route('/send_get_request', methods=['GET'])
891
  def send_get_request():
892
  token = request.args.get('token')