Przeglądaj źródła

Исправлена проверка времени мероприятия

Vildan 2 lat temu
rodzic
commit
be69f3e16c
2 zmienionych plików z 8 dodań i 7 usunięć
  1. 2 5
      bot/functions.py
  2. 6 2
      handlers/user/make_events.py

+ 2 - 5
bot/functions.py

@@ -155,11 +155,8 @@ def check_overlap(start, end, date):
     db = database.Database()
     times = db.sql_fetchall(f"select e_start,e_end from events_table where e_date = {date}")
     for time in times:
-        if time['e_start'] > time['e_end']:
-            return False
-        else:
-            it.addi(time['e_start'], time['e_end'])
-            return not it.overlaps(start, end)
+        it.addi(time['e_start'], time['e_end'])
+        return not it.overlaps(start, end)
 
 
 def parse_events(data):

+ 6 - 2
handlers/user/make_events.py

@@ -87,8 +87,12 @@ async def get_time(message: types.Message, state: FSMContext):
     date = await state.get_data()
     # Проверяем валидность времени
     if time_validator(message.text):
-        # Проверяем пересечения
-        if not check_overlap(time[0], time[1], date['date']):
+        # Проверяем что старт не позже конца
+        if time[0] > time[1]:
+            msg = await message.answer("Начало не может быть раньше конца")
+            await asyncio.sleep(5)
+            await msg.delete()
+        elif not check_overlap(time[0], time[1], date['date']):
             msg = await message.answer("Указанное время пеерсекается")
             await asyncio.sleep(5)
             await msg.delete()