Module edupage_api.classes
37 | Classes
48 |-
49 |
50 | class Class 51 | (class_id: int,
name: str,
short: str,
homeroom_teachers: list[EduTeacher] | None,
homeroom: Classroom | None,
grade: int | None) 52 |
53 | -
54 | 55 |67 |
56 | Expand source code 57 |
58 |
66 |@dataclass 59 | class Class: 60 | class_id: int 61 | name: str 62 | short: str 63 | homeroom_teachers: Optional[list[EduTeacher]] 64 | homeroom: Optional[Classroom] 65 | grade: Optional[int]
68 |Class(class_id: int, name: str, short: str, homeroom_teachers: Optional[list[edupage_api.people.EduTeacher]], homeroom: Optional[edupage_api.classrooms.Classroom], grade: Optional[int])
Class variables
69 |-
70 |
var class_id : int
71 | - 72 | 73 | 74 |
var grade : int | None
75 | - 76 | 77 | 78 |
var homeroom : Classroom | None
79 | - 80 | 81 | 82 |
var homeroom_teachers : list[EduTeacher] | None
83 | - 84 | 85 | 86 |
var name : str
87 | - 88 | 89 | 90 |
var short : str
91 | - 92 | 93 | 94 |
96 | 97 | class Classes 98 | (edupage: EdupageModule) 99 |
100 | -
101 | 102 |159 | 160 |
103 | Expand source code 104 |
105 |
158 |class Classes(Module): 106 | @ModuleHelper.logged_in 107 | def get_classes(self) -> Optional[list]: 108 | classes_list = DbiHelper(self.edupage).fetch_class_list() 109 | 110 | if classes_list is None: 111 | return None 112 | 113 | classes = [] 114 | 115 | for class_id_str, class_info in classes_list.items(): 116 | if not class_id_str: 117 | continue 118 | 119 | home_teacher_ids = [ 120 | class_info.get("teacherid"), 121 | class_info.get("teacher2id"), 122 | ] 123 | home_teachers = [ 124 | People(self.edupage).get_teacher(tid) for tid in home_teacher_ids if tid 125 | ] 126 | home_teachers = [ht for ht in home_teachers if ht] 127 | 128 | homeroom_id = class_info.get("classroomid") 129 | homeroom = Classrooms(self.edupage).get_classroom(homeroom_id) 130 | 131 | classes.append( 132 | Class( 133 | int(class_id_str), 134 | class_info["name"], 135 | class_info["short"], 136 | home_teachers if home_teachers else None, 137 | homeroom, 138 | int(class_info["grade"]) if class_info["grade"] else None, 139 | ) 140 | ) 141 | 142 | return classes 143 | 144 | def get_class(self, class_id: Union[int, str]) -> Optional[Class]: 145 | try: 146 | class_id = int(class_id) 147 | except (ValueError, TypeError): 148 | return None 149 | 150 | return next( 151 | ( 152 | edu_class 153 | for edu_class in self.get_classes() 154 | if edu_class.class_id == class_id 155 | ), 156 | None, 157 | )
Ancestors
161 |-
162 |
- Module 163 |
Methods
165 |-
166 |
167 | def get_class(self, class_id: int | str) ‑> Class | None 168 |
169 | -
170 | 171 |189 | 190 |
172 | Expand source code 173 |
174 |
188 |def get_class(self, class_id: Union[int, str]) -> Optional[Class]: 175 | try: 176 | class_id = int(class_id) 177 | except (ValueError, TypeError): 178 | return None 179 | 180 | return next( 181 | ( 182 | edu_class 183 | for edu_class in self.get_classes() 184 | if edu_class.class_id == class_id 185 | ), 186 | None, 187 | )
191 | 192 | def get_classes(self) ‑> list | None 193 |
194 | -
195 | 196 |237 | 238 |
197 | Expand source code 198 |
199 |
236 |@ModuleHelper.logged_in 200 | def get_classes(self) -> Optional[list]: 201 | classes_list = DbiHelper(self.edupage).fetch_class_list() 202 | 203 | if classes_list is None: 204 | return None 205 | 206 | classes = [] 207 | 208 | for class_id_str, class_info in classes_list.items(): 209 | if not class_id_str: 210 | continue 211 | 212 | home_teacher_ids = [ 213 | class_info.get("teacherid"), 214 | class_info.get("teacher2id"), 215 | ] 216 | home_teachers = [ 217 | People(self.edupage).get_teacher(tid) for tid in home_teacher_ids if tid 218 | ] 219 | home_teachers = [ht for ht in home_teachers if ht] 220 | 221 | homeroom_id = class_info.get("classroomid") 222 | homeroom = Classrooms(self.edupage).get_classroom(homeroom_id) 223 | 224 | classes.append( 225 | Class( 226 | int(class_id_str), 227 | class_info["name"], 228 | class_info["short"], 229 | home_teachers if home_teachers else None, 230 | homeroom, 231 | int(class_info["grade"]) if class_info["grade"] else None, 232 | ) 233 | ) 234 | 235 | return classes
239 |
241 |