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))
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))
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))
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))
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) }))
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))
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))
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))
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))
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))
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))
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))
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))
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))
def make(cls, dct: Dict) -> "GeneralResponse": return cls(**ensure_slots(cls, dct))
def make(cls, dct: Dict) -> "Visitor": return cls(**ensure_slots(cls, dct))
def make(cls, dct: Dict) -> "PasswordStrengthResponse": return cls(**ensure_slots(cls, dct))
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))
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))
def make(cls, dct: Dict) -> "VisitorsResponse": dct['visitors'] = [Visitor.make(x) for x in dct['visitors']] return cls(**ensure_slots(cls, dct))
def make(cls, dct: Dict) -> "EmailSetPasswordResponse": return cls(**ensure_slots(cls, dct))
def make(cls, dct: Dict) -> "GetResultResult": return cls(**ensure_slots(cls, dct))
def make(cls, dct: Dict) -> "VerifyEmailTokenResult": return cls(**ensure_slots(cls, dct))
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))
def make(cls, dct: Dict) -> "RegisterByPasswordResponse": return cls(**ensure_slots(cls, dct))