Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -702,23 +702,6 @@ def nutri_call():
|
|
702 |
|
703 |
|
704 |
|
705 |
-
# Входные данные (пример)
|
706 |
-
INPUT_DATA = {
|
707 |
-
"fertilizerConstants": {
|
708 |
-
"Кальциевая селитра": {"N (NO3-)": 0.11863, "Ca": 0.16972},
|
709 |
-
"Калий азотнокислый": {"N (NO3-)": 0.13854, "K": 0.36672},
|
710 |
-
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
711 |
-
"Сульфат магния": {"Mg": 0.10220, "S": 0.13483},
|
712 |
-
"Монофосфат калия": {"P": 0.22761, "K": 0.28731},
|
713 |
-
"Калий сернокислый": {"K": 0.44874, "S": 0.18401},
|
714 |
-
"Кальций хлорид": {"Ca": 0.272, "Cl": 0.483} # Хлор теперь учитывается
|
715 |
-
},
|
716 |
-
"profileSettings": {
|
717 |
-
"P": 60, "K": 194, "Mg": 48.5, "Ca": 121.25, "S": 79.445, "Cl": 0, # Добавлен Cl
|
718 |
-
"NO3_RAT": 1.5, "TOTAL_NITROG": 138.57, "liters": 100
|
719 |
-
}
|
720 |
-
}
|
721 |
-
|
722 |
class NutrientCalculator:
|
723 |
def __init__(self, input_data):
|
724 |
self.fertilizers = input_data["fertilizerConstants"]
|
@@ -738,7 +721,8 @@ class NutrientCalculator:
|
|
738 |
}
|
739 |
|
740 |
self.actual = {k: 0.0 for k in self.target}
|
741 |
-
|
|
|
742 |
|
743 |
def calculate(self):
|
744 |
# 1. Вносим аммонийный азот
|
@@ -842,6 +826,10 @@ class NutrientCalculator:
|
|
842 |
report += f"\n- {el}: не хватает {abs(diff)} ppm"
|
843 |
|
844 |
return report
|
|
|
|
|
|
|
|
|
845 |
|
846 |
@app.route('/calculation', methods=['POST'])
|
847 |
def handle_calculation():
|
|
|
702 |
|
703 |
|
704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
class NutrientCalculator:
|
706 |
def __init__(self, input_data):
|
707 |
self.fertilizers = input_data["fertilizerConstants"]
|
|
|
721 |
}
|
722 |
|
723 |
self.actual = {k: 0.0 for k in self.target}
|
724 |
+
# Инициализация всех удобрений с нулевым весом
|
725 |
+
self.results = {fert: {'граммы': 0.0} for fert in self.fertilizers}
|
726 |
|
727 |
def calculate(self):
|
728 |
# 1. Вносим аммонийный азот
|
|
|
826 |
report += f"\n- {el}: не хватает {abs(diff)} ppm"
|
827 |
|
828 |
return report
|
829 |
+
# Запуск расчета
|
830 |
+
calculator = NutrientCalculator(INPUT_DATA)
|
831 |
+
results = calculator.calculate()
|
832 |
+
print(calculator.generate_report(results))
|
833 |
|
834 |
@app.route('/calculation', methods=['POST'])
|
835 |
def handle_calculation():
|