DmitrMakeev commited on
Commit
4bb0fc3
1 Parent(s): 15e2f41

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -17
app.py CHANGED
@@ -858,13 +858,15 @@ def update_or_insert_user(db_name, user_data, mapping_template):
858
  conn.close() # Закрытие соединения с базой данных
859
  logging.debug(f"User with email {email} processed successfully") # Логирование успешной обработки пользователя
860
 
861
- @app.route('/send_get_request', methods=['GET']) # Определение маршрута для обработки GET-запросов
862
  def send_get_request():
863
- token = request.args.get('token') # Получение значения параметра token из запроса
864
- webinarId = request.args.get('webinarId') # Получение значения параметра webinarId из запроса
865
- url = f'https://online.bizon365.ru/api/v1/webinars/reports/get?webinarId={webinarId}' # Формирование URL для запроса
 
866
 
867
- response = requests.get(url, headers={'X-Token': token}) # Выполнение GET-запроса с заголовком авторизации
 
868
 
869
  if response.status_code == 200: # Если статус ответа равен 200 (OK)
870
  data = response.json() # Получение данных в формате JSON
@@ -878,7 +880,7 @@ def send_get_request():
878
  except json.JSONDecodeError:
879
  report_json = {} # Установка пустого объекта при ошибке преобразования
880
 
881
- messages_json_str = report.get('messages', '{}') # Получение строки JSON для сообщений
882
  try:
883
  messages_json = json.loads(messages_json_str) # Преобразование строки JSON в объект
884
  except json.JSONDecodeError:
@@ -888,19 +890,18 @@ def send_get_request():
888
 
889
  processed_emails = set() # Создание множества для хранения обработанных email-ов
890
  for user_id, user_data in users_meta.items(): # Проход по всем пользователям
891
- email = user_data.get('email') # Получение email пользователя
892
- if email not in processed_emails: # Если email еще не был обработан
893
- # Извлечение сообщений конкретного пользователя
894
- messages_user = [msg for msg in messages_json if msg.get('user_id') == user_id] # Фильтрация сообщений по user_id
895
- user_data['messages'] = messages_user # Добавление отфильтрованных сообщений в данные пользователя
896
- update_or_insert_user(DATABASE_NAME, user_data, mapping_template) # Обновление или вставка данных пользователя в базу данных
897
- processed_emails.add(email) # Добавление email в множество обработанных
898
-
899
- return jsonify({'status': 'User data saved successfully'}) # Возвращение JSON-ответа с подтверждением успешного сохранения данных
900
- else:
901
- return jsonify({'error': 'Failed to fetch data from the API'}), response.status_code # Возвращение JSON-ответа с ошибкой и кодом состояния при неудачном запросе
902
 
 
 
 
 
903
 
 
 
 
904
 
905
 
906
 
 
858
  conn.close() # Закрытие соединения с базой данных
859
  logging.debug(f"User with email {email} processed successfully") # Логирование успешной обработки пользователя
860
 
861
+ @app.route('/send_get_request', methods=['GET'])
862
  def send_get_request():
863
+ # Получение параметров из запроса
864
+ token = request.args.get('token')
865
+ webinarId = request.args.get('webinarId')
866
+ url = f'https://online.bizon365.ru/api/v1/webinars/reports/get?webinarId={webinarId}'
867
 
868
+ # Отправка GET-запроса к API
869
+ response = requests.get(url, headers={'X-Token': token})
870
 
871
  if response.status_code == 200: # Если статус ответа равен 200 (OK)
872
  data = response.json() # Получение данных в формате JSON
 
880
  except json.JSONDecodeError:
881
  report_json = {} # Установка пустого объекта при ошибке преобразования
882
 
883
+ messages_json_str = report.get('messages', '[]') # Получение строки JSON для сообщений
884
  try:
885
  messages_json = json.loads(messages_json_str) # Преобразование строки JSON в объект
886
  except json.JSONDecodeError:
 
890
 
891
  processed_emails = set() # Создание множества для хранения обработанных email-ов
892
  for user_id, user_data in users_meta.items(): # Проход по всем пользователям
893
+ # Извлечение сообщений текущего пользователя
894
+ messages_user = [msg for msg in messages_json if msg.get('user_id') == user_id] # Фильтрация сообщений по user_id
895
+ user_data['messages'] = messages_user # Добавление сообщений пользователя в данные пользователя
 
 
 
 
 
 
 
 
896
 
897
+ email = user_data.get('email')
898
+ if email and email not in processed_emails:
899
+ update_or_insert_user(DATABASE_NAME, user_data, mapping_template)
900
+ processed_emails.add(email)
901
 
902
+ return jsonify({'status': 'User data saved successfully'})
903
+ else:
904
+ return jsonify({'error': 'Failed to fetch data from the API'}), response.status_code
905
 
906
 
907