DmitrMakeev commited on
Commit
ff953d7
·
verified ·
1 Parent(s): 1cbf5d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -4
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
- # Преобразуем даты в формат datetime
194
- start_date = datetime.strptime(start_date, '%Y-%m-%dT%H:%M')
195
- end_date = datetime.strptime(end_date, '%Y-%m-%dT%H:%M')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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