43 lines
2.2 KiB
Python
43 lines
2.2 KiB
Python
if self.MESSAGE["text"].lower() == "!пара":
|
||
try:
|
||
schedule = json.loads( readfile(self.path + "schedule.json") )
|
||
|
||
current_time = datetime.datetime.now()
|
||
|
||
current_week = current_time.isocalendar()[1] % 2
|
||
current_day = current_time.weekday()
|
||
current_seconds = current_time.hour * 3600 + current_time.minute * 60 + current_time.second
|
||
|
||
print("[DEBUG] Current day is {}({})".format(type(current_day), current_day))
|
||
if current_day > 4 or current_day < 0:
|
||
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
|
||
for j in schedule[next_week][day]:
|
||
next_pair = schedule[next_week][day][j]
|
||
pair_found = True
|
||
break
|
||
|
||
self.RESPONCE = "Сьогодні вихідний, тому пар немає)\nНаступна пара - {} ({}) о {} у {}\nПосилання (якщо воно чомусь треба): {}".format(next_pair["subject"], next_pair["lector"], self.reverse_timetable[int(j)], self.days_rod[day], next_pair["link"])
|
||
else:
|
||
for i in self.timetable:
|
||
if current_seconds < i:
|
||
print("[DEBUG] Looking up a relevant pair...")
|
||
try:
|
||
relevant_pair = schedule[current_week][current_day][str(self.timetable[i])]
|
||
self.RESPONCE = "Актуальна пара: {} ({}), початок о {}\nПосилання: {}".format(relevant_pair["subject"], relevant_pair["lector"], self.reverse_timetable[self.timetable[i]], relevant_pair["link"])
|
||
break
|
||
except Exception as e:
|
||
print("[WARN] module: auto-schedule: exception {} while looking up the pair".format(e))
|
||
else:
|
||
self.RESPONCE = "Сьогодні більше немає пар"
|
||
|
||
except Exception as e:
|
||
print("[WARN] module: auto-schedule: failed to process schedule.json ({})".format(e))
|