DmitrMakeev commited on
Commit
53118c9
1 Parent(s): d45745f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -44
app.py CHANGED
@@ -1192,7 +1192,7 @@ def update_or_insert_user(db_name, user_data, mapping_template):
1192
  cursor = conn.cursor()
1193
 
1194
  # Получение email пользователя из данных
1195
- email = user_data.get('Email')
1196
  if not email:
1197
  logging.error(f"User data missing email: {user_data}")
1198
  return
@@ -1200,30 +1200,15 @@ def update_or_insert_user(db_name, user_data, mapping_template):
1200
  logging.debug(f"Processing user with email: {email}")
1201
 
1202
  # Проверка существования пользователя в базе данных по email
1203
- cursor.execute("SELECT web_st FROM contacts WHERE email = ?", (email,))
1204
  user = cursor.fetchone()
1205
  logging.debug(f"User found: {user}")
1206
 
1207
- # Вынесение увеличения значения web_st в отдельный блок
1208
- web_st_value = 1 # Инициализация значения web_st
1209
  if user:
1210
- # Проверка текущего значения web_st и его инкрементация
1211
- current_web_st = user[0] if user[0] is not None and user[0] != "" else 0
1212
- web_st_value = int(current_web_st) + 1
1213
- logging.debug(f"Calculated web_st_value: {web_st_value}")
1214
-
1215
- # Обновление значения web_st
1216
- cursor.execute("UPDATE contacts SET web_st = ? WHERE email = ?", (web_st_value, email))
1217
- conn.commit()
1218
  conn.close()
1219
- logging.debug(f"User {email} web_st updated to {web_st_value}")
1220
- else:
1221
- conn.close()
1222
- logging.debug(f"User {email} not found, proceeding with insert")
1223
-
1224
- # Открываем соединение снова для остальных операций
1225
- conn = sqlite3.connect(db_name)
1226
- cursor = conn.cursor()
1227
 
1228
  # Преобразование данных пользователя на основе шаблона сопоставления
1229
  transformed_data = {}
@@ -1254,39 +1239,26 @@ def update_or_insert_user(db_name, user_data, mapping_template):
1254
  logging.debug(f"Transformed data after adding required fields: {transformed_data}")
1255
 
1256
  # Обработка номера телефона, если он есть
1257
- if 'Phone' in user_data:
1258
- phone = user_data['Phone']
1259
  if phone.startswith('+'):
1260
  phone = phone[1:]
1261
  transformed_data['phone'] = phone
1262
  logging.debug(f"Transformed data after phone processing: {transformed_data}")
1263
 
1264
- # Добавление значения web_st в данные для вставки
1265
- transformed_data['web_st'] = web_st_value
1266
-
1267
- # Обновление данных пользователя в базе данных
1268
- if user:
1269
- update_query = "UPDATE contacts SET "
1270
- update_values = []
1271
- for column, value in transformed_data.items():
1272
- update_query += f"{column} = ?, "
1273
- update_values.append(value)
1274
- update_query = update_query.rstrip(", ") + " WHERE email = ?"
1275
- update_values.append(email)
1276
- logging.debug(f"Update query: {update_query} with values: {update_values}")
1277
- cursor.execute(update_query, update_values)
1278
- else:
1279
- columns = ', '.join(transformed_data.keys())
1280
- placeholders = ', '.join('?' for _ in transformed_data)
1281
- insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
1282
- insert_values = list(transformed_data.values())
1283
- logging.debug(f"Insert query: {insert_query} with values: {insert_values}")
1284
- cursor.execute(insert_query, insert_values)
1285
 
1286
  # Подтверждение изменений и закрытие соединения
1287
  conn.commit()
1288
  conn.close()
1289
- logging.debug(f"User with email {email} processed successfully")
 
1290
 
1291
  @app.route('/upload_csv', methods=['POST'])
1292
  def upload_csv():
 
1192
  cursor = conn.cursor()
1193
 
1194
  # Получение email пользователя из данных
1195
+ email = user_data.get('email')
1196
  if not email:
1197
  logging.error(f"User data missing email: {user_data}")
1198
  return
 
1200
  logging.debug(f"Processing user with email: {email}")
1201
 
1202
  # Проверка существования пользователя в базе данных по email
1203
+ cursor.execute("SELECT 1 FROM contacts WHERE email = ?", (email,))
1204
  user = cursor.fetchone()
1205
  logging.debug(f"User found: {user}")
1206
 
1207
+ # Если пользователь существует, закрываем соединение и возвращаемся
 
1208
  if user:
 
 
 
 
 
 
 
 
1209
  conn.close()
1210
+ logging.debug(f"User with email {email} already exists. Skipping insert.")
1211
+ return
 
 
 
 
 
 
1212
 
1213
  # Преобразование данных пользователя на основе шаблона сопоставления
1214
  transformed_data = {}
 
1239
  logging.debug(f"Transformed data after adding required fields: {transformed_data}")
1240
 
1241
  # Обработка номера телефона, если он есть
1242
+ if 'phone' in user_data:
1243
+ phone = user_data['phone']
1244
  if phone.startswith('+'):
1245
  phone = phone[1:]
1246
  transformed_data['phone'] = phone
1247
  logging.debug(f"Transformed data after phone processing: {transformed_data}")
1248
 
1249
+ # Добавление нового пользователя в базу данных
1250
+ columns = ', '.join(transformed_data.keys())
1251
+ placeholders = ', '.join('?' for _ in transformed_data)
1252
+ insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
1253
+ insert_values = list(transformed_data.values())
1254
+ logging.debug(f"Insert query: {insert_query} with values: {insert_values}")
1255
+ cursor.execute(insert_query, insert_values)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1256
 
1257
  # Подтверждение изменений и закрытие соединения
1258
  conn.commit()
1259
  conn.close()
1260
+ logging.debug(f"User with email {email} inserted successfully")
1261
+
1262
 
1263
  @app.route('/upload_csv', methods=['POST'])
1264
  def upload_csv():