Added new module: auto-schedule

This commit is contained in:
dymik739 2022-11-04 20:12:48 +02:00
parent f621ec4aad
commit 76c6bd3c0e
4 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,41 @@
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() - 1
current_seconds = current_time.hour * 3600 + current_time.minute * 60 + current_time.second
if current_day > 4:
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][i]:
next_pair = schedule[next_week][i][j]
pair_found = True
break
self.RESPONCE = "Сьогодні вихідний, тому пар немає)\nНаступна пара - {} ({}) у {}\nПосилання (якщо воно чомусь треба): {}".format(next_pair["subject"], next_pair["lector"], self.days[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 + 1][str(self.timetable[i])]
self.RESPONCE = "Актуальна пара: {} ({})\nПосилання: {}".format(relevant_pair["subject"], relevant_pair["lector"], 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))

View File

@ -0,0 +1,7 @@
{
"start_on_boot": true,
"alias": "auto-schedule",
"version": 1,
"index_file": "index.py",
"predefine": "predefine.py"
}

View File

@ -0,0 +1 @@
self.timetable = {36300: 0, 43200: 1, 50100: 2, 57000: 3, 63900: 4, 72300: 5, 78900: 6}

File diff suppressed because one or more lines are too long