hacking uol timetable

Table of Contents

UoL timetable use javascript to get time of each class to form your weekly view

Objective

obtain a jasn file in the format of

{{"code" : "COMP456",
  "start-time" : "Feb 12 2024 12:00",
  "end-time" : "Feb 12 2024 13:00",
 },
 {"code" : "COMP406",
  "start-time" : "Feb 13 2024 12:00",
  "end-time" : "Feb 13 2024 13:00",
 }
}

1. tools

currently timetable use FullCalendar to generate your timetable. I failed to find anywhere to directly obtain such json, so this may have be done on the server.

Currently, The following js snippet get you some info

$(calendarID).fullCalendar("clientEvents") // retrive events in local memory that fullcalendar have stored
$(calendarID).fullCalendar("getEventSources") // give you a url that fullCalendar used to fetch events

2. next step

  • [ ] inspect /services/get-events (returned by $(calendarID).fullCalendar("getEventSources") // give you a url that fullCalendar used to fetch events)
  • [ ] find out where exactly events comes from (perhaps starts with webpage lifecycle scripts like ready or something)

Author: Linfeng He

Created: 2024-04-03 Wed 20:20