auto-schedule: fixed bugs and added automatical time lookups

This commit is contained in:
dymik739 2022-11-05 18:42:45 +02:00
parent 52cc0b75c1
commit 4a3f46f2a2
2 changed files with 12 additions and 8 deletions

View File

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

View File

@ -1 +1,4 @@
self.timetable = {36300: 0, 43200: 1, 50100: 2, 57000: 3, 63900: 4, 72300: 5, 78900: 6} self.timetable = {36300: 0, 43200: 1, 50100: 2, 57000: 3, 63900: 4, 72300: 5, 78900: 6}
self.days_rod = ["понеділок", "вівторок", "середу", "четвер", "п'ятницю"]
self.reverse_timetable = ["8:30", "10:25", "12:20", "14:15", "16:10", "18:30", "20:20"]