DmitrMakeev
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -223,24 +223,16 @@ def load_data_from_json(json_data):
|
|
223 |
|
224 |
for item in items:
|
225 |
user_data = dict(zip(fields, item))
|
|
|
226 |
# Проверяем наличие значений для полей и устанавливаем значения по умолчанию, если они отсутствуют
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
user_data.setdefault('pr1', '')
|
236 |
-
user_data.setdefault('pr2', '')
|
237 |
-
user_data.setdefault('pr3', '')
|
238 |
-
user_data.setdefault('pr4', '')
|
239 |
-
user_data.setdefault('pr5', '')
|
240 |
-
user_data.setdefault('ad_url', '')
|
241 |
-
user_data.setdefault('key_pr', '')
|
242 |
-
user_data.setdefault('canal', '')
|
243 |
-
user_data.setdefault('data_t', '')
|
244 |
|
245 |
# Убираем плюс в начале телефона, если он присутствует
|
246 |
if 'Телефон' in user_data and user_data['Телефон'].startswith('+'):
|
@@ -248,9 +240,20 @@ def load_data_from_json(json_data):
|
|
248 |
|
249 |
query = '''
|
250 |
INSERT INTO contacts (
|
251 |
-
|
|
|
|
|
|
|
|
|
|
|
252 |
) VALUES (
|
253 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
254 |
)
|
255 |
'''
|
256 |
cursor.execute(query, user_data)
|
@@ -265,18 +268,17 @@ def start():
|
|
265 |
api_key_sys_control = request.args.get('api_sys')
|
266 |
|
267 |
if export_id is None:
|
268 |
-
return
|
269 |
|
270 |
if api_key_sys_control != api_key_sys:
|
271 |
-
return
|
272 |
|
273 |
try:
|
274 |
-
json_data = send_second_request(export_id)
|
275 |
load_data_from_json(json_data)
|
276 |
return "Data loaded successfully", 200
|
277 |
except Exception as e:
|
278 |
-
return
|
279 |
-
|
280 |
|
281 |
|
282 |
|
|
|
223 |
|
224 |
for item in items:
|
225 |
user_data = dict(zip(fields, item))
|
226 |
+
|
227 |
# Проверяем наличие значений для полей и устанавливаем значения по умолчанию, если они отсутствуют
|
228 |
+
default_fields = [
|
229 |
+
'vk_id', 'chat_id', 'ws_st', 'ws_stop', 'web_st', 'fin_prog',
|
230 |
+
'shop_st', 'curator', 'pr1', 'pr2', 'pr3', 'pr4', 'pr5',
|
231 |
+
'ad_url', 'key_pr', 'canal', 'data_t'
|
232 |
+
]
|
233 |
+
for field in default_fields:
|
234 |
+
if field not in user_data:
|
235 |
+
user_data[field] = ''
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
# Убираем плюс в начале телефона, если он присутствует
|
238 |
if 'Телефон' in user_data and user_data['Телефон'].startswith('+'):
|
|
|
240 |
|
241 |
query = '''
|
242 |
INSERT INTO contacts (
|
243 |
+
id, email, registration_type, created_at, last_activity, first_name,
|
244 |
+
last_name, phone, birth_date, age, country, city, from_partner,
|
245 |
+
club_extended, promocode, bonus_05_23, club_255_payments,
|
246 |
+
agreement_consent, newsletter_consent, vk_id, chat_id, ws_statys,
|
247 |
+
ws_stop, web_statys, fin_progress, shop_statys_full, curator, pr1,
|
248 |
+
pr2, pr3, pr4, pr5, ad_url, key_pr, canal, data_t
|
249 |
) VALUES (
|
250 |
+
:id, :Email, :Тип регистрации, :Создан, :Последняя активность, :Имя,
|
251 |
+
:Фамилия, :Телефон, :Дата рождения, :Возраст, :Страна, :Город,
|
252 |
+
:От партнера, :Руч продлен Клуба, :Промокод, :bonus_05_23,
|
253 |
+
:Клуб 255 - колл. оплат, :Согласен с договором оферты и политикой
|
254 |
+
конфиденциальности, :Согласен на рассылку, :vk_id, :chat_id, :ws_st,
|
255 |
+
:ws_stop, :web_st, :fin_prog, :shop_st, :curator, :pr1, :pr2, :pr3,
|
256 |
+
:pr4, :pr5, :ad_url, :key_pr, :canal, :data_t
|
257 |
)
|
258 |
'''
|
259 |
cursor.execute(query, user_data)
|
|
|
268 |
api_key_sys_control = request.args.get('api_sys')
|
269 |
|
270 |
if export_id is None:
|
271 |
+
return jsonify({"error": "export_id is required"}), 400
|
272 |
|
273 |
if api_key_sys_control != api_key_sys:
|
274 |
+
return jsonify({"error": "Unauthorized access"}), 403
|
275 |
|
276 |
try:
|
277 |
+
json_data = send_second_request(export_id) # Ваша функция для получения JSON данных
|
278 |
load_data_from_json(json_data)
|
279 |
return "Data loaded successfully", 200
|
280 |
except Exception as e:
|
281 |
+
return jsonify({"error": str(e)}), 500
|
|
|
282 |
|
283 |
|
284 |
|