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():
|