Update app.py
Browse files
app.py
CHANGED
@@ -1627,35 +1627,61 @@ def gc_forms():
|
|
1627 |
|
1628 |
|
1629 |
|
1630 |
-
def
|
1631 |
-
|
1632 |
-
|
1633 |
-
|
1634 |
-
|
1635 |
-
if
|
1636 |
-
|
1637 |
-
|
1638 |
-
|
1639 |
-
|
1640 |
-
|
1641 |
-
|
1642 |
-
|
1643 |
-
|
1644 |
-
|
1645 |
-
|
1646 |
-
|
1647 |
-
# Отправляем POST-запрос к API с указанным URL, заголовками и телом запроса
|
1648 |
-
response = requests.post(full_url_ver, headers=headers, data=payload)
|
1649 |
-
|
1650 |
-
# Проверяем статус ответа от сервера
|
1651 |
-
if response.status_code == 200:
|
1652 |
-
# Если статус ответа 200 (успешный запрос), извлекаем JSON-данные из ответа
|
1653 |
-
response_json = response.json()
|
1654 |
-
return response_json # Возвращаем весь JSON-ответ от API
|
1655 |
else:
|
1656 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1657 |
else:
|
1658 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1659 |
|
1660 |
|
1661 |
@app.route('/add_data_ver', methods=['GET'])
|
|
|
1627 |
|
1628 |
|
1629 |
|
1630 |
+
def add_or_update_contact(db_name, contact_data):
|
1631 |
+
conn = sqlite3.connect(db_name)
|
1632 |
+
cursor = conn.cursor()
|
1633 |
+
|
1634 |
+
email = contact_data.get('email')
|
1635 |
+
if not email:
|
1636 |
+
logging.error(f"Missing email in contact data: {contact_data}")
|
1637 |
+
return
|
1638 |
+
|
1639 |
+
cursor.execute("SELECT id FROM contacts WHERE email = ?", (email,))
|
1640 |
+
contact = cursor.fetchone()
|
1641 |
+
|
1642 |
+
transformed_data = {}
|
1643 |
+
for field in ["name", "phone", "email", "vk_id", "chat_id", "ws_st", "ws_stop", "web_st", "fin_prog", "b_city", "b_fin", "b_ban", "b_ign", "b_baners", "b_butt", "b_mess", "shop_st", "curator", "pr1", "pr2", "pr3", "pr4", "pr5", "ad_url", "key_pr", "n_con", "canal", "data_t"]:
|
1644 |
+
value = contact_data.get(field, "")
|
1645 |
+
if isinstance(value, list) or isinstance(value, dict):
|
1646 |
+
transformed_data[field] = json.dumps(value)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1647 |
else:
|
1648 |
+
transformed_data[field] = str(value)
|
1649 |
+
|
1650 |
+
if contact:
|
1651 |
+
update_query = """
|
1652 |
+
UPDATE contacts SET
|
1653 |
+
name = ?, phone = ?, email = ?, vk_id = ?, chat_id = ?, ws_st = ?, ws_stop = ?,
|
1654 |
+
web_st = ?, fin_prog = ?, b_city = ?, b_fin = ?, b_ban = ?, b_ign = ?, b_baners = ?,
|
1655 |
+
b_butt = ?, b_mess = ?, shop_st = ?, curator = ?, pr1 = ?, pr2 = ?, pr3 = ?, pr4 = ?,
|
1656 |
+
pr5 = ?, ad_url = ?, key_pr = ?, n_con = ?, canal = ?, data_t = ?
|
1657 |
+
WHERE id = ?
|
1658 |
+
"""
|
1659 |
+
cursor.execute(update_query, (
|
1660 |
+
transformed_data["name"], transformed_data["phone"], transformed_data["email"], transformed_data["vk_id"], transformed_data["chat_id"],
|
1661 |
+
transformed_data["ws_st"], transformed_data["ws_stop"], transformed_data["web_st"], transformed_data["fin_prog"], transformed_data["b_city"],
|
1662 |
+
transformed_data["b_fin"], transformed_data["b_ban"], transformed_data["b_ign"], transformed_data["b_baners"], transformed_data["b_butt"],
|
1663 |
+
transformed_data["b_mess"], transformed_data["shop_st"], transformed_data["curator"], transformed_data["pr1"], transformed_data["pr2"],
|
1664 |
+
transformed_data["pr3"], transformed_data["pr4"], transformed_data["pr5"], transformed_data["ad_url"], transformed_data["key_pr"],
|
1665 |
+
transformed_data["n_con"], transformed_data["canal"], transformed_data["data_t"], contact[0]
|
1666 |
+
))
|
1667 |
else:
|
1668 |
+
insert_query = """
|
1669 |
+
INSERT INTO contacts (name, phone, email, vk_id, chat_id, ws_st, ws_stop, web_st, fin_prog, b_city, b_fin,
|
1670 |
+
b_ban, b_ign, b_baners, b_butt, b_mess, shop_st, curator, pr1, pr2, pr3, pr4, pr5, ad_url,
|
1671 |
+
key_pr, n_con, canal, data_t)
|
1672 |
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
1673 |
+
"""
|
1674 |
+
cursor.execute(insert_query, (
|
1675 |
+
transformed_data["name"], transformed_data["phone"], transformed_data["email"], transformed_data["vk_id"], transformed_data["chat_id"],
|
1676 |
+
transformed_data["ws_st"], transformed_data["ws_stop"], transformed_data["web_st"], transformed_data["fin_prog"], transformed_data["b_city"],
|
1677 |
+
transformed_data["b_fin"], transformed_data["b_ban"], transformed_data["b_ign"], transformed_data["b_baners"], transformed_data["b_butt"],
|
1678 |
+
transformed_data["b_mess"], transformed_data["shop_st"], transformed_data["curator"], transformed_data["pr1"], transformed_data["pr2"],
|
1679 |
+
transformed_data["pr3"], transformed_data["pr4"], transformed_data["pr5"], transformed_data["ad_url"], transformed_data["key_pr"],
|
1680 |
+
transformed_data["n_con"], transformed_data["canal"], transformed_data["data_t"]
|
1681 |
+
))
|
1682 |
+
|
1683 |
+
conn.commit()
|
1684 |
+
conn.close()
|
1685 |
|
1686 |
|
1687 |
@app.route('/add_data_ver', methods=['GET'])
|