Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -188,16 +188,54 @@ def plot_ph():
|
|
| 188 |
start_date = request.args.get('start_date')
|
| 189 |
end_date = request.args.get('end_date')
|
| 190 |
|
| 191 |
-
# Если параметры есть,
|
| 192 |
if start_date and end_date:
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 196 |
|
| 197 |
# Подключаемся к базе данных
|
| 198 |
conn = sqlite3.connect('system_data.db')
|
| 199 |
cursor = conn.cursor()
|
| 200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 201 |
# Выполняем запрос для получения данных в заданном диапазоне
|
| 202 |
cursor.execute('''
|
| 203 |
SELECT date_time, ph, dey, wek
|
|
|
|
| 188 |
start_date = request.args.get('start_date')
|
| 189 |
end_date = request.args.get('end_date')
|
| 190 |
|
| 191 |
+
# Если параметры есть, проверяем их корректность
|
| 192 |
if start_date and end_date:
|
| 193 |
+
try:
|
| 194 |
+
# Преобразуем даты в формат datetime
|
| 195 |
+
start_date = datetime.strptime(start_date, '%Y-%m-%dT%H:%M')
|
| 196 |
+
end_date = datetime.strptime(end_date, '%Y-%m-%dT%H:%M')
|
| 197 |
+
|
| 198 |
+
# Проверяем, что дата начала раньше даты окончания
|
| 199 |
+
if start_date >= end_date:
|
| 200 |
+
return '''
|
| 201 |
+
<html>
|
| 202 |
+
<body>
|
| 203 |
+
<h1>Неправильная дата выбрана</h1>
|
| 204 |
+
<p>Дата начала должна быть раньше даты окончания.</p>
|
| 205 |
+
<button onclick="window.location.href='/plot_ph'">Новые данные</button>
|
| 206 |
+
</body>
|
| 207 |
+
</html>
|
| 208 |
+
'''
|
| 209 |
+
except ValueError:
|
| 210 |
+
return '''
|
| 211 |
+
<html>
|
| 212 |
+
<body>
|
| 213 |
+
<h1>Неправильная дата выбрана</h1>
|
| 214 |
+
<p>Формат даты должен быть YYYY-MM-DDTHH:MM.</p>
|
| 215 |
+
<button onclick="window.location.href='/plot_ph'">Новые данные</button>
|
| 216 |
+
</body>
|
| 217 |
+
</html>
|
| 218 |
+
'''
|
| 219 |
|
| 220 |
# Подключаемся к базе данных
|
| 221 |
conn = sqlite3.connect('system_data.db')
|
| 222 |
cursor = conn.cursor()
|
| 223 |
|
| 224 |
+
# Проверяем, существует ли таблица
|
| 225 |
+
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='system_data'")
|
| 226 |
+
table_exists = cursor.fetchone()
|
| 227 |
+
|
| 228 |
+
if not table_exists:
|
| 229 |
+
return '''
|
| 230 |
+
<html>
|
| 231 |
+
<body>
|
| 232 |
+
<h1>В базе данных отсутствуют значения</h1>
|
| 233 |
+
<p>Таблица system_data не существует. Обновите базу данных.</p>
|
| 234 |
+
<button onclick="window.location.href='/plot_ph'">Обновить базу данных</button>
|
| 235 |
+
</body>
|
| 236 |
+
</html>
|
| 237 |
+
'''
|
| 238 |
+
|
| 239 |
# Выполняем запрос для получения данных в заданном диапазоне
|
| 240 |
cursor.execute('''
|
| 241 |
SELECT date_time, ph, dey, wek
|