INF-YTimetab is the INF-YT's rewrite of the University of Edinburgh's Timetab timetabling system.
It produces a standard iCal calendar file from a list of your courses, allowing you to import your lecture timetable into almost any Calendar application, including Google Calendar, Outlook, and most probably that slide phone you've had since '06.
This application is just an interface to all the magic happening on the back-end, so getting timetables programmatically is pretty simple.
Just send a form-encoded POST request
to the /timetable
endpoint, with the parameters as course_codes-n=<course-code>
for each course,
where n
starts at 0.
You should receive a raw calendar back, with the content-type
header set to text/calendar
.
For example, using httpie:
>>> http --form POST http://timetab.inf-yt.org.uk/timetable course_codes-0='MATH08058'
# should return something along the lines of:
HTTP/1.1 200 OK
Content-Length: # ...
Content-Type: text/calendar
# [...]
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;TZID=Europe/London:20130114T121000
DTEND;TZID=Europe/London:20130114T130000
RRULE:FREQ=WEEKLY;UNTIL=20130408T131000Z
UID:[email protected]
DESCRIPTION:
LOCATION:No Location Data Available
SUMMARY:Calculus and its Applications
TRANSP:OPAQUE
END:VEVENT
# [...]
END:VCALENDAR
>>> # and so on...
INF-YTimetab is one component in the INF-YT's ILWHack-winning project, illustrating the awesome crossovers and mashups that could occur if the University opened up its data sources.
So this is a bit better than an HTML table, non?