Update app.py
Browse files
app.py
CHANGED
|
@@ -223,16 +223,21 @@ 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 236 |
|
| 237 |
# Убираем плюс в начале телефона, если он присутствует
|
| 238 |
if 'Телефон' in user_data and user_data['Телефон'].startswith('+'):
|
|
@@ -240,38 +245,33 @@ def load_data_from_json(json_data):
|
|
| 240 |
|
| 241 |
query = '''
|
| 242 |
INSERT INTO contacts (
|
| 243 |
-
name, phone, email, vk_id, chat_id, ws_statys, ws_stop, web_statys, fin_progress, shop_statys_full, pr1, pr2, pr3, pr4, pr5, ad_url, curator, key_pr, canal, data_t
|
| 244 |
) VALUES (
|
| 245 |
:Имя, :Телефон, :Email, :vk_id, :chat_id, :ws_st, :ws_stop, :web_st, :fin_prog, :shop_st, :pr1, :pr2, :pr3, :pr4, :pr5, :ad_url, :curator, :key_pr, :canal, :data_t
|
| 246 |
)
|
| 247 |
-
|
| 248 |
'''
|
| 249 |
cursor.execute(query, user_data)
|
| 250 |
|
| 251 |
conn.commit()
|
| 252 |
conn.close()
|
| 253 |
|
| 254 |
-
|
| 255 |
@app.route('/start', methods=['GET'])
|
| 256 |
def start():
|
| 257 |
export_id = request.args.get('export_id')
|
| 258 |
api_key_sys_control = request.args.get('api_sys')
|
| 259 |
|
| 260 |
if export_id is None:
|
| 261 |
-
return
|
| 262 |
|
| 263 |
if api_key_sys_control != api_key_sys:
|
| 264 |
-
return
|
| 265 |
|
| 266 |
try:
|
| 267 |
-
json_data = send_second_request(export_id)
|
| 268 |
load_data_from_json(json_data)
|
| 269 |
return "Data loaded successfully", 200
|
| 270 |
except Exception as e:
|
| 271 |
-
return
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
|
| 276 |
|
| 277 |
|
|
|
|
| 223 |
|
| 224 |
for item in items:
|
| 225 |
user_data = dict(zip(fields, item))
|
|
|
|
| 226 |
# Проверяем наличие значений для полей и устанавливаем значения по умолчанию, если они отсутствуют
|
| 227 |
+
user_data.setdefault('vk_id', '')
|
| 228 |
+
user_data.setdefault('chat_id', '')
|
| 229 |
+
user_data.setdefault('ws_st', '')
|
| 230 |
+
user_data.setdefault('ws_stop', '')
|
| 231 |
+
user_data.setdefault('web_st', '')
|
| 232 |
+
user_data.setdefault('fin_prog', '')
|
| 233 |
+
user_data.setdefault('shop_st', '')
|
| 234 |
+
user_data.setdefault('curator', '')
|
| 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 |
|
| 242 |
# Убираем плюс в начале телефона, если он присутствует
|
| 243 |
if 'Телефон' in user_data and user_data['Телефон'].startswith('+'):
|
|
|
|
| 245 |
|
| 246 |
query = '''
|
| 247 |
INSERT INTO contacts (
|
| 248 |
+
name, phone, email, vk_id, chat_id, ws_statys, ws_stop, web_statys, fin_progress, shop_statys_full, pr1, pr2, pr3, pr4, pr5, ad_url, curator, key_pr, canal, data_t
|
| 249 |
) VALUES (
|
| 250 |
:Имя, :Телефон, :Email, :vk_id, :chat_id, :ws_st, :ws_stop, :web_st, :fin_prog, :shop_st, :pr1, :pr2, :pr3, :pr4, :pr5, :ad_url, :curator, :key_pr, :canal, :data_t
|
| 251 |
)
|
|
|
|
| 252 |
'''
|
| 253 |
cursor.execute(query, user_data)
|
| 254 |
|
| 255 |
conn.commit()
|
| 256 |
conn.close()
|
| 257 |
|
|
|
|
| 258 |
@app.route('/start', methods=['GET'])
|
| 259 |
def start():
|
| 260 |
export_id = request.args.get('export_id')
|
| 261 |
api_key_sys_control = request.args.get('api_sys')
|
| 262 |
|
| 263 |
if export_id is None:
|
| 264 |
+
return json.dumps({"error": "export_id is required"}), 400
|
| 265 |
|
| 266 |
if api_key_sys_control != api_key_sys:
|
| 267 |
+
return json.dumps({"error": "Unauthorized access"}), 403
|
| 268 |
|
| 269 |
try:
|
| 270 |
+
json_data = send_second_request(export_id)
|
| 271 |
load_data_from_json(json_data)
|
| 272 |
return "Data loaded successfully", 200
|
| 273 |
except Exception as e:
|
| 274 |
+
return json.dumps({"error": str(e)}), 500
|
|
|
|
|
|
|
|
|
|
| 275 |
|
| 276 |
|
| 277 |
|