DmitrMakeev commited on
Commit
e0ca124
·
verified ·
1 Parent(s): f4afc70

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -27
app.py CHANGED
@@ -1627,35 +1627,61 @@ def gc_forms():
1627
 
1628
 
1629
 
1630
- def verify_phone_number(phone_number):
1631
- # Получаем значение переменной окружения 'verifikation_start', которая управляет началом проверки
1632
- verifikation_start = os.getenv('verifikation_start')
1633
-
1634
- # Проверяем, установлено ли значение 'verifikation_start' в "1", что означает включение проверки номера телефона
1635
- if verifikation_start == "1":
1636
- # Формируем полный URL для запроса к API на проверку номера WhatsApp
1637
- full_url_ver = f"{wa_url}{wa_ak}{ws_url_ver}{wa_api_key}"
1638
-
1639
- # Формируем тело запроса в формате JSON, содержащее проверяемый номер телефона
1640
- payload = json.dumps({
1641
- "phoneNumber": phone_number
1642
- })
1643
- headers = {
1644
- 'Content-Type': 'application/json' # Устанавливаем заголовок Content-Type как 'application/json'
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
- return {} # Если статус ответа не 200, возвращаем пустой JSON-объект
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1657
  else:
1658
- return {} # Если 'verifikation_start' не равен "1", пропускаем проверку и возвращаем пустой JSON-объект
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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'])