DmitrMakeev
commited on
Commit
•
f3a6868
1
Parent(s):
c10e072
Update app.py
Browse files
app.py
CHANGED
@@ -1819,97 +1819,6 @@ def add_user_bot_route():
|
|
1819 |
|
1820 |
|
1821 |
|
1822 |
-
# Список кураторов
|
1823 |
-
curators = ["Anna", "Ekaterina", "Ivan"]
|
1824 |
-
|
1825 |
-
# Переменная для отслеживания текущего куратора
|
1826 |
-
current_curator_index = 0
|
1827 |
-
|
1828 |
-
# Пример шаблона сопоставления для настройки переменных записываемых в базу данных.
|
1829 |
-
mapping_template3 = {
|
1830 |
-
'name': 'name',
|
1831 |
-
'phone': 'phone',
|
1832 |
-
'email': 'email'
|
1833 |
-
}
|
1834 |
-
|
1835 |
-
def add_user_bot(db_name, user_data, mapping_template3):
|
1836 |
-
global current_curator_index
|
1837 |
-
|
1838 |
-
conn = sqlite3.connect(db_name)
|
1839 |
-
cursor = conn.cursor()
|
1840 |
-
|
1841 |
-
# Проверка наличия пользователя по email
|
1842 |
-
email = user_data.get('email')
|
1843 |
-
cursor.execute("SELECT 1 FROM contacts WHERE email = ?", (email,))
|
1844 |
-
if cursor.fetchone() is not None:
|
1845 |
-
logging.warning(f"User with email {email} already exists. Skipping insert.")
|
1846 |
-
conn.close()
|
1847 |
-
return
|
1848 |
-
|
1849 |
-
# Преобразование данных пользователя на основе шаблона сопоставления
|
1850 |
-
transformed_data = {db_column: user_data.get(json_key, "") for json_key, db_column in mapping_template3.items()}
|
1851 |
-
|
1852 |
-
# Добавление недостающих полей с пустыми строками
|
1853 |
-
required_fields = [
|
1854 |
-
"ad_url", "b_ban", "b_baners", "b_butt", "b_city", "b_fin", "b_ign", "b_mess",
|
1855 |
-
"canal", "chat_id", "curator", "data_t", "fin_prog", "key_pr", "n_con",
|
1856 |
-
"pr1", "pr2", "pr3", "pr4", "pr5", "shop_st", "vk_id", "web_st", "ws_st", "ws_stop"
|
1857 |
-
]
|
1858 |
-
for field in required_fields:
|
1859 |
-
if field not in transformed_data:
|
1860 |
-
transformed_data[field] = ""
|
1861 |
-
|
1862 |
-
# Назначение куратора
|
1863 |
-
transformed_data['curator'] = curators[current_curator_index]
|
1864 |
-
current_curator_index = (current_curator_index + 1) % len(curators)
|
1865 |
-
|
1866 |
-
columns = ', '.join(transformed_data.keys())
|
1867 |
-
placeholders = ', '.join('?' for _ in transformed_data)
|
1868 |
-
insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
|
1869 |
-
insert_values = list(transformed_data.values())
|
1870 |
-
|
1871 |
-
cursor.execute(insert_query, insert_values)
|
1872 |
-
conn.commit()
|
1873 |
-
conn.close()
|
1874 |
-
|
1875 |
-
@app.route('/add_user_bot', methods=['GET'])
|
1876 |
-
def add_user_bot_route():
|
1877 |
-
db_name = request.args.get('db_name', 'data_gc.db') # Имя базы данных из параметра запроса
|
1878 |
-
user_data = {key: request.args.get(key, "") for key in mapping_template3.keys()}
|
1879 |
-
|
1880 |
-
logging.debug(f"User data: {user_data}")
|
1881 |
-
|
1882 |
-
try:
|
1883 |
-
add_user_bot(db_name, user_data, mapping_template3)
|
1884 |
-
return jsonify({'status': 'success', 'message': f'User added to {db_name}'})
|
1885 |
-
except Exception as e:
|
1886 |
-
logging.error(f"Error adding user: {e}")
|
1887 |
-
return jsonify({'status': 'error', 'message': str(e)}), 500
|
1888 |
-
|
1889 |
-
@app.route('/add_user_cur', methods=['POST'])
|
1890 |
-
def add_user_cur_route():
|
1891 |
-
global current_curator_index
|
1892 |
-
|
1893 |
-
data = request.json
|
1894 |
-
curator_name = data.get('curator_name')
|
1895 |
-
|
1896 |
-
if curator_name not in curators:
|
1897 |
-
return jsonify({'status': 'error', 'message': f'Curator {curator_name} not found in the list of curators'}), 400
|
1898 |
-
|
1899 |
-
current_curator_index = curators.index(curator_name)
|
1900 |
-
return jsonify({'status': 'success', 'message': f'Current curator set to {curator_name}'})
|
1901 |
-
|
1902 |
-
|
1903 |
-
|
1904 |
-
|
1905 |
-
|
1906 |
-
|
1907 |
-
|
1908 |
-
|
1909 |
-
|
1910 |
-
|
1911 |
-
|
1912 |
-
|
1913 |
|
1914 |
|
1915 |
|
|
|
1819 |
|
1820 |
|
1821 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1822 |
|
1823 |
|
1824 |
|