1 """Support for fetching Vulcan data."""
4 async
def get_lessons(client, date_from=None, date_to=None):
5 """Support for fetching Vulcan lessons."""
8 async
for lesson
in await client.data.get_changed_lessons(
9 date_from=date_from, date_to=date_to
13 temp_dict[
"id"] = lesson.id
14 temp_dict[
"number"] = lesson.time.position
if lesson.time
is not None else None
15 temp_dict[
"lesson"] = (
16 lesson.subject.name
if lesson.subject
is not None else None
18 temp_dict[
"room"] = lesson.room.code
if lesson.room
is not None else None
19 temp_dict[
"changes"] = lesson.changes
20 temp_dict[
"note"] = lesson.note
21 temp_dict[
"reason"] = lesson.reason
22 temp_dict[
"event"] = lesson.event
23 temp_dict[
"group"] = lesson.group
24 temp_dict[
"teacher"] = (
25 lesson.teacher.display_name
if lesson.teacher
is not None else None
27 temp_dict[
"from_to"] = (
28 lesson.time.displayed_time
if lesson.time
is not None else None
31 changes[
str(_id)] = temp_dict
33 async
for lesson
in await client.data.get_lessons(
34 date_from=date_from, date_to=date_to
37 temp_dict[
"id"] = lesson.id
38 temp_dict[
"number"] = lesson.time.position
39 temp_dict[
"time"] = lesson.time
40 temp_dict[
"date"] = lesson.date.date
41 temp_dict[
"lesson"] = (
42 lesson.subject.name
if lesson.subject
is not None else None
44 if lesson.room
is not None:
45 temp_dict[
"room"] = lesson.room.code
47 temp_dict[
"room"] =
"-"
48 temp_dict[
"visible"] = lesson.visible
49 temp_dict[
"changes"] = lesson.changes
50 temp_dict[
"group"] = lesson.group
51 temp_dict[
"reason"] =
None
52 temp_dict[
"teacher"] = (
53 lesson.teacher.display_name
if lesson.teacher
is not None else None
55 temp_dict[
"from_to"] = (
56 lesson.time.displayed_time
if lesson.time
is not None else None
58 if temp_dict[
"changes"]
is None:
59 temp_dict[
"changes"] =
""
60 elif temp_dict[
"changes"].type == 1:
61 temp_dict[
"lesson"] = f
"Lekcja odwołana ({temp_dict['lesson']})"
62 temp_dict[
"changes_info"] = f
"Lekcja odwołana ({temp_dict['lesson']})"
63 if str(temp_dict[
"changes"].id)
in changes:
64 temp_dict[
"reason"] = changes[
str(temp_dict[
"changes"].id)][
"reason"]
65 elif temp_dict[
"changes"].type == 2:
66 temp_dict[
"lesson"] = f
"{temp_dict['lesson']} (Zastępstwo)"
67 temp_dict[
"teacher"] = changes[
str(temp_dict[
"changes"].id)][
"teacher"]
68 if str(temp_dict[
"changes"].id)
in changes:
69 temp_dict[
"teacher"] = changes[
str(temp_dict[
"changes"].id)][
"teacher"]
70 temp_dict[
"reason"] = changes[
str(temp_dict[
"changes"].id)][
"reason"]
71 elif temp_dict[
"changes"].type == 4:
72 temp_dict[
"lesson"] = f
"Lekcja odwołana ({temp_dict['lesson']})"
73 if str(temp_dict[
"changes"].id)
in changes:
74 temp_dict[
"reason"] = changes[
str(temp_dict[
"changes"].id)][
"reason"]
75 if temp_dict[
"visible"]:
76 list_ans.append(temp_dict)
82 """Support for fetching Student info by student id."""
84 for student
in await client.get_students():
85 if str(student.pupil.id) ==
str(student_id):
86 student_info[
"first_name"] = student.pupil.first_name
87 if student.pupil.second_name:
88 student_info[
"second_name"] = student.pupil.second_name
89 student_info[
"last_name"] = student.pupil.last_name
90 student_info[
"full_name"] = (
91 f
"{student.pupil.first_name} {student.pupil.last_name}"
93 student_info[
"id"] = student.pupil.id
94 student_info[
"class"] = student.class_
95 student_info[
"school"] = student.school.name
96 student_info[
"symbol"] = student.symbol
def get_student_info(client, student_id)
def get_lessons(client, date_from=None, date_to=None)