exam models
ExamEvent is the only exam dataclass (pyjiit/exam.py). Schedules stay as dicts.
@dataclass
class ExamEvent:
exam_event_code: str
event_from: int
exam_event_desc: str
registration_id: str
exam_event_id: str
| Attribute | JSON key |
|---|---|
exam_event_code |
exameventcode |
event_from |
eventfrom |
exam_event_desc |
exameventdesc |
registration_id |
registrationid |
exam_event_id |
exameventid |
from_json passes those five values positionally.
classDiagram
class ExamEvent {
exam_event_code
event_from
exam_event_desc
registration_id
exam_event_id
from_json()
}Call chain#
flowchart LR Sems["get_semesters_for_exam_events"] --> Sem["Semester"] Sem --> Ev["get_exam_events"] Ev --> EE["ExamEvent"] EE --> Sch["get_exam_schedule"] Sch --> Dict["schedule dict"]
get_exam_events POSTs encrypted { "instituteid", "registationid": semester.registration_id } to /studentcommonsontroller/getstudentexamevents and maps response.eventcode.examevent.
get_exam_schedule POSTs encrypted { "instituteid", "registrationid": exam_event.registration_id, "exameventid": exam_event.exam_event_id } to /studentsttattview/getstudent-examschedule.
Do not mix this Semester list with get_registered_semesters. The portal has a dedicated exam-events semester endpoint.
sems = w.get_semesters_for_exam_events()
events = w.get_exam_events(sems[0])
schedule = w.get_exam_schedule(events[0])