Exemplo n.º 1
0
 def make(cls, dct: Dict) -> "StudentResult":
     del dct["status"]
     dct["student_id"] = dct.pop("student_code")
     dct["student_id_encoded"] = encrypt("student", dct["student_id"])
     dct["klass"] = dct.pop("class")
     dct["semesters"] = dct.pop('semester_list')
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 2
0
 def make(cls, dct: Dict) -> "TeacherTimetableResult":
     del dct["status"]
     dct["cards"] = [CardItem.make(x) for x in dct.pop("card_list")]
     dct['semesters'] = sorted(dct.pop('semester_list'))
     dct['teacher_id'] = dct.pop('teacher_code')
     dct["teacher_id_encoded"] = encrypt("teacher", dct["teacher_id"])
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 3
0
 def make(cls, name: str, rooms: Dict[str, str]) -> "Building":
     dct_new = {
         "name": name,
         "rooms":
         [Room.make(room_id, name) for room_id, name in rooms.items()]
     }
     return cls(**ensure_slots(cls, dct_new))
Exemplo n.º 4
0
 def make(cls, dct: Dict) -> "SearchResultStudentItem":
     dct['semesters'] = sorted(dct.pop("semester_list"))
     dct['student_id'] = dct.pop("code")  # rename
     dct['student_id_encoded'] = encrypt('student', dct['student_id'])
     dct['klass'] = dct.pop("class")
     del dct["group"]
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 5
0
 def make(cls, room_id: str, name: str) -> "Room":
     return cls(**ensure_slots(
         cls, {
             "name": name,
             "room_id": room_id,
             "room_id_encoded": encrypt(RTYPE_ROOM, room_id)
         }))
Exemplo n.º 6
0
 def make(cls, name: str, room_id: str, feedback_cnt: int):
     dct = {
         'name': name,
         'room_id': room_id,
         'room_id_encoded': encrypt(RTYPE_ROOM, room_id),
         'occupied_feedback_cnt': feedback_cnt
     }
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 7
0
 def make(cls, dct: Dict) -> "StudentTimetableResult":
     del dct["status"]
     dct["cards"] = [CardItem.make(x) for x in dct.pop("card_list")]
     dct["semesters"] = dct.pop("semester_list")
     dct["student_id"] = dct.pop("student_code")
     dct["student_id_encoded"] = encrypt("student", dct["student_id"])
     dct["klass"] = dct.pop("class")
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 8
0
    def make(cls, dct: Dict) -> "ClassroomTimetableResult":
        del dct["status"]
        dct['semesters'] = sorted(dct.pop('semester_list'))
        dct['room_id'] = dct.pop("room_code")
        dct['classroom_type'] = dct.pop("type")
        dct['cards'] = [CardItem.make(x) for x in dct.pop('card_list')]

        dct['room_id_encoded'] = encrypt('room', dct['room_id'])
        return cls(**ensure_slots(cls, dct))
Exemplo n.º 9
0
 def make(cls, dct: Dict) -> "CardItem":
     dct["teachers"] = [TeacherItem.make(x) for x in dct.pop("teacher_list")]
     dct['room_id'] = dct.pop('room_code')
     dct['card_id'] = dct.pop('card_code')
     dct['weeks'] = dct.pop('week_list')
     dct['week_string'] = weeks_to_string(dct['weeks'])
     dct['room_id_encoded'] = encrypt('room', dct['room_id'])
     dct['card_id_encoded'] = encrypt('klass', dct['card_id'])
     dct['course_id'] = dct.pop('course_code')
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 10
0
    def make(cls, dct: Dict) -> "SearchResult":
        del dct["status"]
        dct["students"] = [SearchResultStudentItem.make(x) for x in dct['data'] if
                           'group' in x and x['group'] == 'student']
        dct["teachers"] = [SearchResultTeacherItem.make(x) for x in dct['data'] if
                           'group' in x and x['group'] == 'teacher']
        dct["classrooms"] = [SearchResultClassroomItem.make(x) for x in dct['data'] if
                             'group' in x and x['group'] == 'room']
        dct.pop("data")

        return cls(**ensure_slots(cls, dct))
Exemplo n.º 11
0
 def make(cls, dct: Dict) -> "CardResult":
     del dct["status"]
     dct["teachers"] = [CardResultTeacherItem.make(x) for x in dct.pop("teacher_list")]
     dct["students"] = [CardResultStudentItem.make(x) for x in dct.pop("student_list")]
     dct['card_id'] = dct.pop('card_code')
     dct["card_id_encoded"] = encrypt("klass", dct["card_id"])
     dct['room_id'] = dct.pop('room_code')
     dct['room_id_encoded'] = encrypt("room", dct["room_id"])
     dct['weeks'] = dct.pop("week_list")
     dct['week_string'] = weeks_to_string(dct['weeks'])
     dct['course_id'] = dct.pop('course_code')
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 12
0
 def make(cls, name: str, dct: Dict) -> "Campus":
     dct_new = {"name": name, "buildings": list()}
     for k, v in dct.items():
         dct_new["buildings"].append(Building.make(k, v))
     return cls(**ensure_slots(cls, dct_new))
Exemplo n.º 13
0
 def make(cls, dct: Dict) -> "TeacherResult":
     del dct["status"]
     dct['semesters'] = sorted(dct.pop('semester_list'))
     dct['teacher_id'] = dct.pop('teacher_code')
     dct["teacher_id_encoded"] = encrypt("teacher", dct["teacher_id"])
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 14
0
 def make(cls, dct: Dict) -> "AllRooms":
     dct_new = {"campuses": {}}
     for k, v in dct.items():
         dct_new["campuses"][k] = Campus.make(k, v)
     return cls(**ensure_slots(cls, dct_new))
Exemplo n.º 15
0
 def make(cls, dct: Dict) -> "GeneralResponse":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 16
0
 def make(cls, dct: Dict) -> "Visitor":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 17
0
 def make(cls, dct: Dict) -> "PasswordStrengthResponse":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 18
0
 def make(cls, dct: Dict) -> "CardResultStudentItem":
     dct["klass"] = dct.pop("class")
     dct["student_id"] = dct.pop("student_code")
     dct["student_id_encoded"] = encrypt("student", dct["student_id"])
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 19
0
 def make(cls, dct: Dict) -> "SearchResultClassroomItem":
     dct['semesters'] = sorted(dct.pop("semester_list"))
     dct['room_id'] = dct.pop("code")  # rename
     dct['room_id_encoded'] = encrypt('room', dct['room_id'])
     del dct["group"]
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 20
0
 def make(cls, dct: Dict) -> "VisitorsResponse":
     dct['visitors'] = [Visitor.make(x) for x in dct['visitors']]
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 21
0
 def make(cls, dct: Dict) -> "EmailSetPasswordResponse":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 22
0
 def make(cls, dct: Dict) -> "GetResultResult":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 23
0
 def make(cls, dct: Dict) -> "VerifyEmailTokenResult":
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 24
0
 def make(cls, dct: Dict) -> "CardResultTeacherItem":
     dct['teacher_id'] = dct.pop('teacher_code')
     dct['teacher_id_encoded'] = encrypt('teacher', dct['teacher_id'])
     return cls(**ensure_slots(cls, dct))
Exemplo n.º 25
0
 def make(cls, dct: Dict) -> "RegisterByPasswordResponse":
     return cls(**ensure_slots(cls, dct))