Skip to content
Snippets Groups Projects
Commit c38aa61c authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Correct rooms in substitutions

parent 5f0fe9cb
No related branches found
No related tags found
No related merge requests found
...@@ -57,7 +57,7 @@ class Lesson(object): ...@@ -57,7 +57,7 @@ class Lesson(object):
# print(rld2) # print(rld2)
for el in rld2: for i, el in enumerate(rld2):
teacher_id = int(el[0]) teacher_id = int(el[0])
subject_id = int(el[2]) subject_id = int(el[2])
room_ids = untis_split_third(el[4], int) room_ids = untis_split_third(el[4], int)
...@@ -75,10 +75,14 @@ class Lesson(object): ...@@ -75,10 +75,14 @@ class Lesson(object):
else: else:
subject = None subject = None
# rooms = self.times[i].rooms[i]
# for room_id in room_ids:
# r = drive["rooms"][room_id]
# rooms.append(r)
rooms = [] rooms = []
for room_id in room_ids: for room in rooms:
r = drive["rooms"][room_id] print(room)
rooms.append(r) print("--")
classes = [] classes = []
for class_id in class_ids: for class_id in class_ids:
...@@ -211,17 +215,38 @@ def get_lesson_by_id(id): ...@@ -211,17 +215,38 @@ def get_lesson_by_id(id):
return lesson return lesson
def get_lesson_element_by_id_and_teacher(lesson_id, teacher): def get_lesson_element_by_id_and_teacher(lesson_id, teacher, hour=None, weekday=None):
print(lesson_id) print(lesson_id)
print(hour, "LEWE", weekday)
try: try:
lesson = get_lesson_by_id(lesson_id) lesson = get_lesson_by_id(lesson_id)
except Exception: except Exception:
return None return None
for element in lesson.elements: el = None
i = 0
print(lesson.elements)
for i, element in enumerate(lesson.elements):
print(element.teacher.shortcode) print(element.teacher.shortcode)
if element.teacher.id == teacher.id: if element.teacher.id == teacher.id:
return element el = element
return None break
t = None
print(lesson.times)
print(weekday)
print(hour)
for time in lesson.times:
print("DAY", time.day, time.hour)
if time.day == weekday and time.hour == hour:
t = time
print(t)
room = None
if t is not None:
room = t.rooms[i]
if el is not None:
return el, room
return None, None
def parse_lesson_times(): def parse_lesson_times():
times = [] times = []
......
...@@ -53,6 +53,7 @@ class Substitution(object): ...@@ -53,6 +53,7 @@ class Substitution(object):
self.corridor = None self.corridor = None
self.classes = None self.classes = None
self.lesson_element = None self.lesson_element = None
self.lesson_time = None
def __str__(self): def __str__(self):
if self.filled: if self.filled:
...@@ -81,9 +82,11 @@ class Substitution(object): ...@@ -81,9 +82,11 @@ class Substitution(object):
if self.teacher_old is not None and self.teacher_new.id == self.teacher_old.id: if self.teacher_old is not None and self.teacher_new.id == self.teacher_old.id:
self.teacher_new = None self.teacher_new = None
self.lesson_element = get_lesson_element_by_id_and_teacher(self.lesson_id, self.teacher_old) self.lesson_element, self.room_old = get_lesson_element_by_id_and_teacher(self.lesson_id, self.teacher_old,
self.lesson,
self.date.weekday() + 1)
# print(self.lesson) # print(self.lesson)
print(self.room_old)
# Subject # Subject
self.subject_old = self.lesson_element.subject if self.lesson_element is not None else None self.subject_old = self.lesson_element.subject if self.lesson_element is not None else None
if db_obj.subject_idsubst != 0: if db_obj.subject_idsubst != 0:
...@@ -93,9 +96,9 @@ class Substitution(object): ...@@ -93,9 +96,9 @@ class Substitution(object):
self.subject_new = None self.subject_new = None
# Room # Room
self.rooms_old = self.lesson_element.rooms if self.lesson_element is not None else [] # self.rooms_old = self.lesson_element.rooms if self.lesson_element is not None else []
if len(self.rooms_old) >= 1: # if len(self.rooms_old) >= 1:
self.room_old = self.rooms_old[0] # self.room_old = self.rooms_old[0]
if db_obj.room_idsubst != 0: if db_obj.room_idsubst != 0:
self.room_new = drive["rooms"][db_obj.room_idsubst] self.room_new = drive["rooms"][db_obj.room_idsubst]
...@@ -120,6 +123,7 @@ class Substitution(object): ...@@ -120,6 +123,7 @@ class Substitution(object):
self.classes.append(drive["classes"][id]) self.classes.append(drive["classes"][id])
print(self.classes) print(self.classes)
def substitutions_sorter(sub): def substitutions_sorter(sub):
# First, sort by class # First, sort by class
sort_by = "".join(class_.name for class_ in sub.classes) sort_by = "".join(class_.name for class_ in sub.classes)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment