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
|