DmitrMakeev commited on
Commit
6f6026b
·
verified ·
1 Parent(s): 5900831

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -47
app.py CHANGED
@@ -19,8 +19,7 @@ from unidecode import unidecode
19
  import uuid
20
  import shutil
21
  import psutil
22
- from Crypto.Cipher import AES
23
- import base64
24
 
25
 
26
 
@@ -1004,48 +1003,17 @@ def get_order_monitop():
1004
 
1005
 
1006
 
1007
- # Функция для расшифровки данных для Чтение ордера по ключу и ВК ИД для приложения
1008
- def decrypt(encrypted_data, key):
1009
- # Добавляем заполнение до длины, кратной 16
1010
- def pad(s):
1011
- return s + (AES.block_size - len(s) % AES.block_size) * chr(AES.block_size - len(s) % AES.block_size)
1012
-
1013
- # Удаляем заполнение
1014
- def unpad(s):
1015
- return s[:-ord(s[len(s)-1:])]
1016
-
1017
- # Декодируем зашифрованные данные из base64
1018
- encrypted_data = base64.b64decode(encrypted_data)
1019
-
1020
- # Создаем объект AES для расшифровки
1021
- cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
1022
-
1023
- # Расшифровываем данные
1024
- decrypted_data = unpad(cipher.decrypt(encrypted_data).decode('utf-8'))
1025
-
1026
- return decrypted_data
1027
-
1028
- # Чтение ордера по ключу и ВК ИД для приложения
1029
  @app.route('/get_order', methods=['POST'])
1030
  def get_order():
1031
  try:
1032
- logging.debug("Starting set_order_vk")
1033
 
1034
  # Читаем параметры из POST-запроса
1035
  data = request.json
1036
- encrypted_key_admin = data.get('api_key_auth', '')
1037
  vkid = data.get('vk_id', '')
1038
  order = data.get('order', '')
1039
 
1040
- # Расшифровываем ключ администратора
1041
- key_admin = decrypt(encrypted_key_admin, crypto_key_auth)
1042
-
1043
- # Проверка что key_admin совпадает с api_key_admin. Если совпадает продолжаем, если нет возвращаем "not"
1044
- if key_admin != api_key_auth:
1045
- logging.error("Invalid admin key")
1046
- response = {order: 'not', 'online_date': '', 'crypto': ''}
1047
- return jsonify(response), 200
1048
-
1049
  if not vkid or not order:
1050
  logging.error("VK ID and order are required")
1051
  return json.dumps({"error": "VK ID and order are required"}), 400
@@ -1057,16 +1025,10 @@ def get_order():
1057
  cursor.execute("SELECT orders FROM contacts WHERE vk_id = ?", (vkid,))
1058
  result = cursor.fetchone()
1059
 
1060
- # Получаем текущую дату и время на сервере
1061
- utc_now = datetime.utcnow()
1062
- msk_tz = pytz.timezone('Europe/Moscow')
1063
- msk_now = utc_now.replace(tzinfo=pytz.utc).astimezone(msk_tz)
1064
- current_time = msk_now.isoformat(timespec='microseconds')
1065
-
1066
  # Если запись по vk_id не найдена, возвращаем значение "not" для ордера
1067
  if not result:
1068
  logging.error(f"VK ID {vkid} not found")
1069
- response = {order: 'not', 'online_date': current_time, 'crypto': ''}
1070
  return jsonify(response), 200
1071
 
1072
  shop_st = result[0] if result[0] else '{}'
@@ -1076,11 +1038,8 @@ def get_order():
1076
  # Ищем значение по ключу order
1077
  value = shop_st_data.get(order, 'not')
1078
 
1079
- # Определяем значение для crypto
1080
- crypto_value = crypto_key_url if value != 'not' else ''
1081
-
1082
- # Возвращаем данные из столбца и текущую дату и время
1083
- response = {order: value, 'online_date': current_time, 'crypto': crypto_value}
1084
  return jsonify(response), 200
1085
 
1086
  except Exception as e:
 
19
  import uuid
20
  import shutil
21
  import psutil
22
+
 
23
 
24
 
25
 
 
1003
 
1004
 
1005
 
1006
+ # Функция для для Чтение ордера для приложения
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1007
  @app.route('/get_order', methods=['POST'])
1008
  def get_order():
1009
  try:
1010
+ logging.debug("Starting get_order")
1011
 
1012
  # Читаем параметры из POST-запроса
1013
  data = request.json
 
1014
  vkid = data.get('vk_id', '')
1015
  order = data.get('order', '')
1016
 
 
 
 
 
 
 
 
 
 
1017
  if not vkid or not order:
1018
  logging.error("VK ID and order are required")
1019
  return json.dumps({"error": "VK ID and order are required"}), 400
 
1025
  cursor.execute("SELECT orders FROM contacts WHERE vk_id = ?", (vkid,))
1026
  result = cursor.fetchone()
1027
 
 
 
 
 
 
 
1028
  # Если запись по vk_id не найдена, возвращаем значение "not" для ордера
1029
  if not result:
1030
  logging.error(f"VK ID {vkid} not found")
1031
+ response = {order: 'not'}
1032
  return jsonify(response), 200
1033
 
1034
  shop_st = result[0] if result[0] else '{}'
 
1038
  # Ищем значение по ключу order
1039
  value = shop_st_data.get(order, 'not')
1040
 
1041
+ # Возвращаем данные из столбца
1042
+ response = {order: value}
 
 
 
1043
  return jsonify(response), 200
1044
 
1045
  except Exception as e: