2022-11-04 20:45:52 +02:00
|
|
|
|
if self.MESSAGE["text"].lower() == "!пара":
|
2022-11-04 20:12:48 +02:00
|
|
|
|
try:
|
|
|
|
|
schedule = json.loads( readfile(self.path + "schedule.json") )
|
|
|
|
|
|
|
|
|
|
current_time = datetime.datetime.now()
|
|
|
|
|
|
|
|
|
|
current_week = current_time.isocalendar()[1] % 2
|
2022-11-05 18:42:45 +02:00
|
|
|
|
current_day = current_time.weekday()
|
2022-11-04 20:12:48 +02:00
|
|
|
|
current_seconds = current_time.hour * 3600 + current_time.minute * 60 + current_time.second
|
2022-11-05 18:42:45 +02:00
|
|
|
|
|
2022-11-09 15:07:58 +02:00
|
|
|
|
print(f"[DEBUG] Current day is {type(current_day)}({current_day})")
|
2022-11-05 18:42:45 +02:00
|
|
|
|
if current_day > 4 or current_day < 0:
|
2022-11-04 20:12:48 +02:00
|
|
|
|
next_week = int(not bool(current_week))
|
|
|
|
|
day = -1
|
|
|
|
|
|
|
|
|
|
next_pair = None
|
|
|
|
|
|
|
|
|
|
pair_found = False
|
|
|
|
|
for i in schedule[next_week]:
|
|
|
|
|
if not pair_found:
|
|
|
|
|
day += 1
|
2022-11-05 18:42:45 +02:00
|
|
|
|
for j in schedule[next_week][day]:
|
|
|
|
|
next_pair = schedule[next_week][day][j]
|
2022-11-04 20:12:48 +02:00
|
|
|
|
pair_found = True
|
|
|
|
|
break
|
|
|
|
|
|
2022-11-09 15:07:58 +02:00
|
|
|
|
self.RESPONCE = f"Сьогодні вихідний, тому пар немає)\n"\
|
|
|
|
|
f"Наступна пара - {next_pair['subject']} ({next_pair['lector']}) о {self.reverse_timetable[int(j)]} у {self.days_rod[day]}\n"\
|
|
|
|
|
f"Посилання (якщо воно чомусь треба): {next_pair['link']}"
|
2022-11-04 20:12:48 +02:00
|
|
|
|
else:
|
|
|
|
|
for i in self.timetable:
|
|
|
|
|
if current_seconds < i:
|
|
|
|
|
print("[DEBUG] Looking up a relevant pair...")
|
|
|
|
|
try:
|
2022-11-05 18:42:45 +02:00
|
|
|
|
relevant_pair = schedule[current_week][current_day][str(self.timetable[i])]
|
2022-11-09 15:07:58 +02:00
|
|
|
|
self.RESPONCE = f"Актуальна пара: {relevant_pair['subject']} ({relevant_pair['lector']}), початок о {self.reverse_timetable[self.timetable[i]]}\n"\
|
|
|
|
|
f"Посилання: {relevant_pair['link']}"
|
2022-11-04 20:12:48 +02:00
|
|
|
|
break
|
|
|
|
|
except Exception as e:
|
2022-11-09 15:07:58 +02:00
|
|
|
|
print(f"[WARN] module: auto-schedule: exception {e} while looking up the pair")
|
2022-11-04 20:12:48 +02:00
|
|
|
|
else:
|
|
|
|
|
self.RESPONCE = "Сьогодні більше немає пар"
|
|
|
|
|
|
|
|
|
|
except Exception as e:
|
2022-11-09 22:06:14 +02:00
|
|
|
|
print(f"[WARN] module: auto-schedule: failed to process schedule.json ({e})")
|