DmitrMakeev commited on
Commit
677e494
·
verified ·
1 Parent(s): 3427546

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -28
app.py CHANGED
@@ -983,47 +983,43 @@ if __name__ == "__main__":
983
  def handle_calculation():
984
  try:
985
  data = request.json
986
- print("Получены данные:", data) # Логируем входящий запрос
987
 
988
- # Проверка обязательных полей
989
- required_fields = ['profileSettings', 'fertilizerConstants']
990
- for field in required_fields:
991
- if field not in data:
992
- return jsonify({"error": f"Missing required field: {field}"}), 400
993
-
994
- # Создаем калькулятор
995
  calculator = NutrientCalculator(
996
- volume_liters=data['profileSettings'].get('liters', 1)
997
  )
998
 
999
- # Устанавливаем профиль
1000
  calculator.target_profile = {
1001
- 'P': data['profileSettings'].get('P', 0),
1002
- 'K': data['profileSettings'].get('K', 0),
1003
- 'Mg': data['profileSettings'].get('Mg', 0),
1004
- 'Ca': data['profileSettings'].get('Ca', 0),
1005
- 'S': data['profileSettings'].get('S', 0),
1006
- 'N (NO3-)': data['profileSettings'].get('N (NO3-)', 0),
1007
- 'N (NH4+)': data['profileSettings'].get('N (NH4+)', 0)
1008
  }
1009
 
1010
- # Устанавливаем удобрения
1011
  calculator.fertilizers = data['fertilizerConstants']
1012
 
1013
  # Выполняем расчет
1014
  result = calculator.calculate()
1015
- response = {
1016
- "status": "success",
1017
- "data": calculator.get_web_results()
1018
- }
1019
- print("Отправляем ответ:", response) # Логируем ответ
1020
- return jsonify(response)
 
 
 
1021
 
1022
  except Exception as e:
1023
- error_msg = f"Server error: {str(e)}"
1024
- print(error_msg)
1025
- return jsonify({"status": "error", "message": error_msg}), 500
1026
-
1027
 
1028
 
1029
 
 
983
  def handle_calculation():
984
  try:
985
  data = request.json
 
986
 
987
+ # Создаем калькулятор (как РАБОТАЛО РАНЬШЕ)
 
 
 
 
 
 
988
  calculator = NutrientCalculator(
989
+ volume_liters=data['profileSettings']['liters']
990
  )
991
 
992
+ # Устанавливаем профиль (старый рабочий вариант)
993
  calculator.target_profile = {
994
+ 'P': data['profileSettings']['P'],
995
+ 'K': data['profileSettings']['K'],
996
+ 'Mg': data['profileSettings']['Mg'],
997
+ 'Ca': data['profileSettings']['Ca'],
998
+ 'S': data['profileSettings']['S'],
999
+ 'N (NO3-)': data['profileSettings']['N (NO3-)'],
1000
+ 'N (NH4+)': data['profileSettings']['N (NH4+)']
1001
  }
1002
 
1003
+ # Устанавливаем удобрения (как было)
1004
  calculator.fertilizers = data['fertilizerConstants']
1005
 
1006
  # Выполняем расчет
1007
  result = calculator.calculate()
1008
+
1009
+ # Возвращаем в СТАРОМ формате (как работало)
1010
+ return jsonify({
1011
+ "deficits": result.get('deficits', {}),
1012
+ "ec": result.get('ec', 0),
1013
+ "fertilizers": result.get('fertilizers', []),
1014
+ "profile": result.get('profile', []),
1015
+ "volume": data['profileSettings']['liters']
1016
+ })
1017
 
1018
  except Exception as e:
1019
+ return jsonify({
1020
+ "error": str(e),
1021
+ "message": "Ошибка расчета (старый обработчик)"
1022
+ }), 500
1023
 
1024
 
1025