Update app.py
Browse files
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('
|
| 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
|
| 1204 |
user = cursor.fetchone()
|
| 1205 |
logging.debug(f"User found: {user}")
|
| 1206 |
|
| 1207 |
-
#
|
| 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}
|
| 1220 |
-
|
| 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 '
|
| 1258 |
-
phone = user_data['
|
| 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 |
-
# Добавление
|
| 1265 |
-
|
| 1266 |
-
|
| 1267 |
-
|
| 1268 |
-
|
| 1269 |
-
|
| 1270 |
-
|
| 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}
|
|
|
|
| 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():
|