Gefined get_full_schedule function.
This commit is contained in:
parent
0f127d9efa
commit
378feec148
|
@ -1,6 +1,6 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"12:20": {"name": "Культура мовлення та ділове мовлення", "teacher": "Кушлаба М. П.", "link": "https://bbb.comsys.kpi.ua/b/myk-0iw-red-p01"}
|
"12:20": {"name": "Культура мовлення та ділове мовлення (лекція)", "teacher": "Кушлаба М. П.", "link": "https://bbb.comsys.kpi.ua/b/myk-0iw-red-p01"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
## code ##
|
## code ##
|
||||||
if (self.MESSAGE["text"].lower() == "!пара" or self.MESSAGE["text"].lower().split()[0] == "!пари"):
|
def get_full_schedule():
|
||||||
|
|
||||||
#getting current time
|
|
||||||
current_time = datetime.datetime.now()
|
|
||||||
|
|
||||||
current_week = current_time.isocalendar()[1] % 2
|
|
||||||
current_day = current_time.weekday()
|
|
||||||
current_seconds = current_week*604800 + current_day*86400 + current_time.hour*3600 + current_time.minute*60 + current_time.second
|
|
||||||
reference_time = int(current_time.strftime("%s")) - current_seconds
|
|
||||||
|
|
||||||
# baking defined schedule
|
# baking defined schedule
|
||||||
raw_schedule = json.loads( readfile(self.path + "schedule.json") )
|
raw_schedule = json.loads( readfile(self.path + "schedule.json") )
|
||||||
schedule = {}
|
schedule = {}
|
||||||
|
@ -30,19 +21,32 @@ if (self.MESSAGE["text"].lower() == "!пара" or self.MESSAGE["text"].lower().
|
||||||
schedule[ts] = new_item
|
schedule[ts] = new_item
|
||||||
|
|
||||||
full_schedule = dict(list(schedule.items()) + list(additions.items()))
|
full_schedule = dict(list(schedule.items()) + list(additions.items()))
|
||||||
|
return full_schedule
|
||||||
|
|
||||||
|
if (self.MESSAGE["text"].lower() == "!пара" or self.MESSAGE["text"].lower().split()[0] == "!пари"):
|
||||||
|
|
||||||
|
#getting current time
|
||||||
|
current_time = datetime.datetime.now()
|
||||||
|
|
||||||
|
current_week = current_time.isocalendar()[1] % 2
|
||||||
|
current_day = current_time.weekday()
|
||||||
|
current_seconds = current_week*604800 + current_day*86400 + current_time.hour*3600 + current_time.minute*60 + current_time.second
|
||||||
|
reference_time = int(current_time.strftime("%s")) - current_seconds
|
||||||
|
|
||||||
|
full_schedule = get_full_schedule()
|
||||||
|
|
||||||
if self.MESSAGE["text"].lower() == "!пара":
|
if self.MESSAGE["text"].lower() == "!пара":
|
||||||
print("test1")
|
print("test1")
|
||||||
print(f"Full schedule printout: {full_schedule}")
|
print(f"Full schedule printout: {full_schedule}")
|
||||||
print(f"Current delta_time: {current_seconds}")
|
print(f"Current delta_time: {current_seconds}")
|
||||||
p = None
|
lesson = None
|
||||||
next_lesson_time = None
|
next_lesson_time = None
|
||||||
|
|
||||||
key_list = list(full_schedule.keys())
|
key_list = list(full_schedule.keys())
|
||||||
key_list.sort()
|
key_list.sort()
|
||||||
for i in key_list:
|
for i in key_list:
|
||||||
if i > current_seconds - 5400:
|
if i > current_seconds - 5400:
|
||||||
p = full_schedule[i]
|
lesson = full_schedule[i]
|
||||||
next_lesson_time = i
|
next_lesson_time = i
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -54,7 +58,7 @@ if self.MESSAGE["text"].lower() == "!пара":
|
||||||
|
|
||||||
if len(full_schedule.keys()) > 0:
|
if len(full_schedule.keys()) > 0:
|
||||||
print("test3.1")
|
print("test3.1")
|
||||||
p = full_schedule[min(full_schedule.keys())]
|
lesson = full_schedule[min(full_schedule.keys())]
|
||||||
print("test3.1.1")
|
print("test3.1.1")
|
||||||
|
|
||||||
print("{} == 6 && {} == 1, {}".format(current_day, dt_lesson.strftime('%u'), str( ((current_day + 2) == int(dt_lesson.strftime("%u"))) or ((str(current_day) == "6") and (dt_lesson.strftime("%u") == "1")) )))
|
print("{} == 6 && {} == 1, {}".format(current_day, dt_lesson.strftime('%u'), str( ((current_day + 2) == int(dt_lesson.strftime("%u"))) or ((str(current_day) == "6") and (dt_lesson.strftime("%u") == "1")) )))
|
||||||
|
@ -80,7 +84,7 @@ if self.MESSAGE["text"].lower() == "!пара":
|
||||||
human_readable_date += " до "
|
human_readable_date += " до "
|
||||||
human_readable_date += dt_lesson_finish.strftime("%H:%M")
|
human_readable_date += dt_lesson_finish.strftime("%H:%M")
|
||||||
|
|
||||||
self.RESPONCE = "Актуальна пара: {}\nДата: {}\nВикладач: {}\nПосилання на пару: {}".format(p['name'], human_readable_date, p['teacher'], p['link'])
|
self.RESPONCE = "Актуальна пара: {}\nДата: {}\nВикладач: {}\nПосилання на пару: {}".format(lesson['name'], human_readable_date, lesson['teacher'], lesson['link'])
|
||||||
print("test3.1.5")
|
print("test3.1.5")
|
||||||
else:
|
else:
|
||||||
self.RESPONCE = "Пар немає взагалі. Ми вільні!"
|
self.RESPONCE = "Пар немає взагалі. Ми вільні!"
|
||||||
|
@ -107,7 +111,7 @@ if self.MESSAGE["text"].lower() == "!пара":
|
||||||
human_readable_date += " до "
|
human_readable_date += " до "
|
||||||
human_readable_date += dt_lesson_finish.strftime("%H:%M")
|
human_readable_date += dt_lesson_finish.strftime("%H:%M")
|
||||||
|
|
||||||
self.RESPONCE = "Актуальна пара: {}\nДата: {}\nВикладач: {}\nПосилання на пару: {}".format(p['name'], human_readable_date, p['teacher'], p['link'])
|
self.RESPONCE = "Актуальна пара: {}\nДата: {}\nВикладач: {}\nПосилання на пару: {}".format(lesson['name'], human_readable_date, lesson['teacher'], lesson['link'])
|
||||||
|
|
||||||
if self.MESSAGE["text"].lower().split()[0] == "!пари":
|
if self.MESSAGE["text"].lower().split()[0] == "!пари":
|
||||||
command = self.MESSAGE["text"].lower().split()
|
command = self.MESSAGE["text"].lower().split()
|
||||||
|
@ -154,7 +158,7 @@ if self.MESSAGE["text"].lower().split()[0] == "!пари":
|
||||||
actual_lesson_ts = reference_time + i
|
actual_lesson_ts = reference_time + i
|
||||||
dt_lesson = datetime.datetime.fromtimestamp(actual_lesson_ts)
|
dt_lesson = datetime.datetime.fromtimestamp(actual_lesson_ts)
|
||||||
dt_lesson_finish = datetime.datetime.fromtimestamp(actual_lesson_ts + 5400)
|
dt_lesson_finish = datetime.datetime.fromtimestamp(actual_lesson_ts + 5400)
|
||||||
p = found_lessons[i]
|
lesson = found_lessons[i]
|
||||||
|
|
||||||
human_readable_date = ""
|
human_readable_date = ""
|
||||||
if ((current_day + 2) == int(dt_lesson.strftime("%u"))) or ((str(current_day) == "6") and (dt_lesson.strftime("%u") == "1")):
|
if ((current_day + 2) == int(dt_lesson.strftime("%u"))) or ((str(current_day) == "6") and (dt_lesson.strftime("%u") == "1")):
|
||||||
|
@ -174,13 +178,13 @@ if self.MESSAGE["text"].lower().split()[0] == "!пари":
|
||||||
|
|
||||||
|
|
||||||
if preferences['name']:
|
if preferences['name']:
|
||||||
result_text += f"Назва: {p['name']}\n"
|
result_text += f"Назва: {lesson['name']}\n"
|
||||||
if preferences['date']:
|
if preferences['date']:
|
||||||
result_text += f"Дата: {human_readable_date}\n"
|
result_text += f"Дата: {human_readable_date}\n"
|
||||||
if preferences['teacher']:
|
if preferences['teacher']:
|
||||||
result_text += f"Викладач: {p['teacher']}\n"
|
result_text += f"Викладач: {lesson['teacher']}\n"
|
||||||
if preferences['link']:
|
if preferences['link']:
|
||||||
result_text += f"Посилання на пару: {p['link']}\n"
|
result_text += f"Посилання на пару: {lesson['link']}\n"
|
||||||
|
|
||||||
result_text += "\n"
|
result_text += "\n"
|
||||||
|
|
||||||
|
|
|
@ -1,52 +1,52 @@
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"8:30": {"name": "Дискретна математика", "teacher": "Новотарський М. А.", "link": "https://us02web.zoom.us/j/87578307057?pwd=UGwyVGlwc3M4Q0Q0Q0NLWUt6bmVpUT09"},
|
"8:30": {"name": "Дискретна математика (лекція)", "teacher": "Новотарський М. А.", "link": "https://us02web.zoom.us/j/87578307057?pwd=UGwyVGlwc3M4Q0Q0Q0NLWUt6bmVpUT09"},
|
||||||
"10:25": {"name": "Комп'ютерна логіка", "teacher": "Жабін В. І.", "link": "https://bbb.comsys.kpi.ua/b/val-2vb-o7w-y5y АБО https://bbb.ugrid.org/b/val-osi-lup-ou8"},
|
"10:25": {"name": "Комп'ютерна логіка (лекція)", "teacher": "Жабін В. І.", "link": "https://bbb.comsys.kpi.ua/b/val-2vb-o7w-y5y АБО https://bbb.ugrid.org/b/val-osi-lup-ou8"},
|
||||||
"12:20": {"name": "Культура мовлення та ділове мовлення", "teacher": "Онуфрієнко О. П.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
"12:20": {"name": "Культура мовлення та ділове мовлення (лекція)", "teacher": "Онуфрієнко О. П.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"12:20": {"name": "Практичний курс іноземної мови. Частина 1", "teacher": "Шевченко О. М.", "link": "https://meet.google.com/bwg-pdnr-evh"},
|
"12:20": {"name": "Практичний курс іноземної мови. Частина 1 (практика)", "teacher": "Шевченко О. М.", "link": "https://meet.google.com/bwg-pdnr-evh"},
|
||||||
"14:15": {"name": "Фізика", "teacher": "Федотов В. В. & Іванова І. М.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
"14:15": {"name": "Фізика (лабораторна)", "teacher": "Федотов В. В. & Іванова І. М.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"8:30": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"},
|
"8:30": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування (лабораторна)", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"},
|
||||||
"10:25": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
"10:25": {"name": "Вища математика (практика)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"10:25": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
"10:25": {"name": "Вища математика (лекція)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
||||||
"12:20": {"name": "Фізика", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
"12:20": {"name": "Фізика (лекція)", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
||||||
"14:15": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"}
|
"14:15": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування (лекція)", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"10:25": {"name": "Фізика", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
"10:25": {"name": "Фізика (практика)", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
||||||
"12:20": {"name": "Дискретна математика", "teacher": "Пономаренко А. М.", "link": "https://us05web.zoom.us/j/7089075754?pwd=TWRlZmxyVlFiTWU1UGlVVU1XcFE0Zz09"},
|
"12:20": {"name": "Дискретна математика (лабораторна)", "teacher": "Пономаренко А. М.", "link": "https://us05web.zoom.us/j/7089075754?pwd=TWRlZmxyVlFiTWU1UGlVVU1XcFE0Zz09"},
|
||||||
"14:15": {"name": "Основи здорового способу життя", "teacher": "Соболенко А. І.", "link": "https://zoom.us/j/2035574145?pwd=bk1wTVhGbjJsQTR4WmVQMlROWFBCZz09"}
|
"14:15": {"name": "Основи здорового способу життя (практика)", "teacher": "Соболенко А. І.", "link": "https://zoom.us/j/2035574145?pwd=bk1wTVhGbjJsQTR4WmVQMlROWFBCZz09"}
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"8:30": {"name": "Дискретна математика", "teacher": "Новотарський М. А.", "link": "https://us02web.zoom.us/j/87578307057?pwd=UGwyVGlwc3M4Q0Q0Q0NLWUt6bmVpUT09"},
|
"8:30": {"name": "Дискретна математика (лекція)", "teacher": "Новотарський М. А.", "link": "https://us02web.zoom.us/j/87578307057?pwd=UGwyVGlwc3M4Q0Q0Q0NLWUt6bmVpUT09"},
|
||||||
"10:25": {"name": "Комп'ютерна логіка", "teacher": "Жабін В. І.", "link": "https://bbb.comsys.kpi.ua/b/val-2vb-o7w-y5y АБО https://bbb.ugrid.org/b/val-osi-lup-ou8"},
|
"10:25": {"name": "Комп'ютерна логіка (лекція)", "teacher": "Жабін В. І.", "link": "https://bbb.comsys.kpi.ua/b/val-2vb-o7w-y5y АБО https://bbb.ugrid.org/b/val-osi-lup-ou8"},
|
||||||
"12:20": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
"12:20": {"name": "Вища математика (лекція)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"8:30": {"name": "Комп'ютерна логіка", "teacher": "Верба О. А.", "link": "https://us04web.zoom.us/j/7382214783?pwd=RnZ3SWgwK1JoVkZtNndnKzdPZjFGdz09"},
|
"8:30": {"name": "Комп'ютерна логіка (лабораторна)", "teacher": "Верба О. А.", "link": "https://us04web.zoom.us/j/7382214783?pwd=RnZ3SWgwK1JoVkZtNndnKzdPZjFGdz09"},
|
||||||
"10:25": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
"10:25": {"name": "Вища математика (практика)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
||||||
"12:20": {"name": "Практичний курс іноземної мови. Частина 1", "teacher": "Шевченко О. М.", "link": "https://meet.google.com/bwg-pdnr-evh"},
|
"12:20": {"name": "Практичний курс іноземної мови. Частина 1 (практика)", "teacher": "Шевченко О. М.", "link": "https://meet.google.com/bwg-pdnr-evh"},
|
||||||
"14:15": {"name": "Фізика", "teacher": "Федотов В. В. & Іванова І. М.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
"14:15": {"name": "Фізика (лабораторна)", "teacher": "Федотов В. В. & Іванова І. М.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"10:25": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
"10:25": {"name": "Вища математика (практика)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"10:25": {"name": "Вища математика", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
"10:25": {"name": "Вища математика (лекція)", "teacher": "Ординська З. П.", "link": "https://us04web.zoom.us/j/2684350438?pwd=kiOi3BrgbJHeYvkrx7qaSxa08J8m8O.1"},
|
||||||
"12:20": {"name": "Фізика", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
"12:20": {"name": "Фізика (лекція)", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
||||||
"14:15": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"}
|
"14:15": {"name": "Програмування. Частина 2. Об'єктно-орієнтоване програмування (лекція)", "teacher": "Алещенко О. В.", "link": "https://us02web.zoom.us/j/2711546637?pwd=Ry82RHp3SjV6WTZRMXl6WUNod25hUT09"}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"10:25": {"name": "Фізика", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
"10:25": {"name": "Фізика (практика)", "teacher": "Русаков В. Ф.", "link": "В житті не буває нічого вічного. Життя мінливе, як і посилання на кожну нову пару. Щасти вам його віднайти!", "container_id": "1"},
|
||||||
"12:20": {"name": "Культура мовлення та ділове мовлення", "teacher": "Кушлаба М. П.", "link": "https://bbb.comsys.kpi.ua/b/myk-0iw-red-p01"},
|
"12:20": {"name": "Культура мовлення та ділове мовлення (практика)", "teacher": "Кушлаба М. П.", "link": "https://bbb.comsys.kpi.ua/b/myk-0iw-red-p01"},
|
||||||
"14:15": {"name": "Основи здорового способу життя", "teacher": "Соболенко А. І.", "link": "https://zoom.us/j/2035574145?pwd=bk1wTVhGbjJsQTR4WmVQMlROWFBCZz09"}
|
"14:15": {"name": "Основи здорового способу життя (практика)", "teacher": "Соболенко А. І.", "link": "https://zoom.us/j/2035574145?pwd=bk1wTVhGbjJsQTR4WmVQMlROWFBCZz09"}
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
{}
|
{}
|
||||||
|
|
Loading…
Reference in New Issue