DmitrMakeev commited on
Commit
2e7a805
1 Parent(s): 1deb654

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -1
app.py CHANGED
@@ -1818,6 +1818,7 @@ def add_user_bot_route():
1818
  # Конец примера шаблона сопоставления для настройки переменных записываемых в базу данных.
1819
 
1820
 
 
1821
  curators = ["Anna", "Ekaterina", "Ivan"]
1822
 
1823
  # Шаблон сопоставления для кураторов
@@ -1829,6 +1830,7 @@ mapping_template_cur = {
1829
  }
1830
 
1831
  def add_user_cur(curator_index):
 
1832
  if curator_index is None:
1833
  logging.error("Curator index is required")
1834
  return False
@@ -1837,18 +1839,55 @@ def add_user_cur(curator_index):
1837
  logging.error(f"Invalid curator index: {curator_index}")
1838
  return False
1839
 
 
1840
  logging.info(f"Current curator set to {curators[curator_index]}")
1841
  return True
1842
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1843
  @app.route('/add_user_cur', methods=['GET'])
1844
  def add_user_cur_route():
 
1845
  curator_index = request.args.get('curator', type=int)
1846
 
 
1847
  if curator_index is None:
1848
  return jsonify({'status': 'error', 'message': 'Curator index is required'}), 400
1849
 
 
1850
  if add_user_cur(curator_index):
1851
- return jsonify({'status': 'success', 'message': f'Current curator set to {curators[curator_index]}'})
 
 
 
 
 
 
 
1852
  else:
1853
  return jsonify({'status': 'error', 'message': f'Invalid curator index: {curator_index}'}), 400
1854
 
 
1818
  # Конец примера шаблона сопоставления для настройки переменных записываемых в базу данных.
1819
 
1820
 
1821
+ # Список кураторов
1822
  curators = ["Anna", "Ekaterina", "Ivan"]
1823
 
1824
  # Шаблон сопоставления для кураторов
 
1830
  }
1831
 
1832
  def add_user_cur(curator_index):
1833
+ # Проверяем, что индекс куратора передан и допустим
1834
  if curator_index is None:
1835
  logging.error("Curator index is required")
1836
  return False
 
1839
  logging.error(f"Invalid curator index: {curator_index}")
1840
  return False
1841
 
1842
+ # Логируем текущего куратора
1843
  logging.info(f"Current curator set to {curators[curator_index]}")
1844
  return True
1845
 
1846
+ def add_user_to_db(db_name, user_data):
1847
+ conn = sqlite3.connect(db_name)
1848
+ cursor = conn.cursor()
1849
+
1850
+ # Преобразование данных пользователя на основе шаблона сопоставления
1851
+ transformed_data = {db_column: user_data.get(json_key, "") for json_key, db_column in mapping_template_cur.items()}
1852
+
1853
+ # Добавление недостающих полей с пустыми строками
1854
+ required_fields = [
1855
+ "ad_url", "b_ban", "b_baners", "b_butt", "b_city", "b_fin", "b_ign", "b_mess",
1856
+ "canal", "chat_id", "curator", "data_t", "fin_prog", "key_pr", "n_con",
1857
+ "pr1", "pr2", "pr3", "pr4", "pr5", "shop_st", "vk_id", "web_st", "ws_st", "ws_stop"
1858
+ ]
1859
+ for field in required_fields:
1860
+ if field not in transformed_data:
1861
+ transformed_data[field] = ""
1862
+
1863
+ columns = ', '.join(transformed_data.keys())
1864
+ placeholders = ', '.join('?' for _ in transformed_data)
1865
+ insert_query = f"INSERT INTO contacts ({columns}) VALUES ({placeholders})"
1866
+ insert_values = list(transformed_data.values())
1867
+
1868
+ cursor.execute(insert_query, insert_values)
1869
+ conn.commit()
1870
+ conn.close()
1871
+
1872
  @app.route('/add_user_cur', methods=['GET'])
1873
  def add_user_cur_route():
1874
+ # Получаем индекс куратора из параметров запроса
1875
  curator_index = request.args.get('curator', type=int)
1876
 
1877
+ # Проверяем, что индекс куратора передан
1878
  if curator_index is None:
1879
  return jsonify({'status': 'error', 'message': 'Curator index is required'}), 400
1880
 
1881
+ # Устанавливаем текущего куратора
1882
  if add_user_cur(curator_index):
1883
+ # Получаем данные пользователя из параметров запроса
1884
+ user_data = {key: request.args.get(key, "") for key in mapping_template_cur.keys()}
1885
+ user_data['curator'] = curators[curator_index]
1886
+
1887
+ # Добавляем пользователя в базу данных
1888
+ add_user_to_db('data_gc.db', user_data)
1889
+
1890
+ return jsonify({'status': 'success', 'message': f'User added with curator {curators[curator_index]}'})
1891
  else:
1892
  return jsonify({'status': 'error', 'message': f'Invalid curator index: {curator_index}'}), 400
1893