Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -854,38 +854,67 @@ calculator = NutrientCalculator(INPUT_DATA)
|
|
854 |
results = calculator.calculate()
|
855 |
print(calculator.generate_report(results))
|
856 |
|
|
|
|
|
|
|
|
|
857 |
@app.route('/calculation', methods=['POST'])
|
858 |
def handle_calculation():
|
859 |
-
#
|
860 |
-
calculator = ShittyCalculator()
|
861 |
-
|
862 |
-
# 2. Пытаемся что-то получить из запроса (но не проверяем!)
|
863 |
-
try:
|
864 |
-
data = request.get_json() or {}
|
865 |
-
except:
|
866 |
-
data = {}
|
867 |
-
|
868 |
-
# 3. Выполняем "расчет" (на самом деле просто возвращаем хардкод)
|
869 |
-
result = calculator.calculate(data)
|
870 |
-
|
871 |
-
# 4. Формируем ответ с любым мусором
|
872 |
response = {
|
873 |
-
"actual_profile":
|
874 |
-
|
|
|
|
|
|
|
875 |
"nitrogen_ratios": {
|
876 |
-
"NH4_RATIO":
|
877 |
-
"NO3_RATIO":
|
878 |
-
"TOTAL_NITROGEN":
|
879 |
},
|
880 |
-
"total_ppm":
|
881 |
-
"deficits":
|
882 |
-
"warning": result["warning"],
|
883 |
"error": None
|
884 |
}
|
885 |
-
|
886 |
-
# 5. Возвращаем ОБЯЗАТЕЛЬНО с кодом 200
|
887 |
-
return jsonify(response), 200
|
888 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
889 |
|
890 |
|
891 |
|
|
|
854 |
results = calculator.calculate()
|
855 |
print(calculator.generate_report(results))
|
856 |
|
857 |
+
from flask import Flask, request, jsonify
|
858 |
+
|
859 |
+
app = Flask(__name__)
|
860 |
+
|
861 |
@app.route('/calculation', methods=['POST'])
|
862 |
def handle_calculation():
|
863 |
+
# Дефолтный ответ с нулями и пустыми значениями
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
864 |
response = {
|
865 |
+
"actual_profile": {
|
866 |
+
"P": 0, "K": 0, "Mg": 0, "Ca": 0, "S": 0,
|
867 |
+
"N (NO3-)": 0, "N (NH4+)": 0
|
868 |
+
},
|
869 |
+
"fertilizers": {},
|
870 |
"nitrogen_ratios": {
|
871 |
+
"NH4_RATIO": 0,
|
872 |
+
"NO3_RATIO": 0,
|
873 |
+
"TOTAL_NITROGEN": 0
|
874 |
},
|
875 |
+
"total_ppm": 0,
|
876 |
+
"deficits": {},
|
|
|
877 |
"error": None
|
878 |
}
|
|
|
|
|
|
|
879 |
|
880 |
+
try:
|
881 |
+
# Пытаемся получить данные (без проверок)
|
882 |
+
data = request.get_json() or {}
|
883 |
+
|
884 |
+
# Кривая имитация расчета (в реальности тут ваш калькулятор)
|
885 |
+
if data:
|
886 |
+
response["actual_profile"] = {
|
887 |
+
"P": float(data.get("profileSettings", {}).get("P", 0)) or 0,
|
888 |
+
"K": float(data.get("profileSettings", {}).get("K", 0)) or 0,
|
889 |
+
"Mg": float(data.get("profileSettings", {}).get("Mg", 0)) or 0,
|
890 |
+
"Ca": float(data.get("profileSettings", {}).get("Ca", 0)) or 0,
|
891 |
+
"S": float(data.get("profileSettings", {}).get("S", 0)) or 0,
|
892 |
+
"N (NO3-)": 0,
|
893 |
+
"N (NH4+)": 0
|
894 |
+
}
|
895 |
+
|
896 |
+
# Кривая логика азота
|
897 |
+
total_n = float(data.get("profileSettings", {}).get("TOTAL_NITROG", 0)) or 0
|
898 |
+
no3_ratio = float(data.get("profileSettings", {}).get("NO3_RAT", 0)) or 0
|
899 |
+
nh4_ratio = 1.0
|
900 |
+
|
901 |
+
response["nitrogen_ratios"] = {
|
902 |
+
"NH4_RATIO": nh4_ratio,
|
903 |
+
"NO3_RATIO": no3_ratio,
|
904 |
+
"TOTAL_NITROGEN": total_n
|
905 |
+
}
|
906 |
+
|
907 |
+
# Заглушка для удобрений
|
908 |
+
response["fertilizers"] = {
|
909 |
+
"Заглушка": {"граммы": 0}
|
910 |
+
}
|
911 |
+
|
912 |
+
except Exception as e:
|
913 |
+
# Логируем ошибку, но все равно возвращаем ответ
|
914 |
+
response["error"] = str(e)
|
915 |
+
|
916 |
+
# ВСЕГДА возвращаем 200 OK
|
917 |
+
return jsonify(response), 200
|
918 |
|
919 |
|
920 |
|