A Kotlin API for the Virginia Tech Timetable of Classes
Used by the course opening notifier Course Patrol!
The API provides access to the timetable through the Timetable object.
The Timetable object provides a few useful methods for looking up class sections:
// will pull the class with crn 17206 (physics lab) from the Spring 2018 semester if the section is open.
val section = Timetable.lookupCrn("17206", term = Term(Session.SPRING, "2018"), openOnly = true)
Both the term
and openOnly
parameters are optional, defaulting to the current term and pulling only open sections.
Another method available is the lookupCourse
method, which can pull sections based off of the department and class number.
// will pull all (including full) statics classes for the current term.
val sections = Timetable.lookupCourse(sectionCode = "ESM", classNumber = "2104")
You can also search for class sections by CLE (or pathways).
val sections = Timetable.lookupCle(area = Curriculum.CLE.AREA_2, term = Term("201909"))
// or
val sections = Timetable.lookupCle(area = Curriculum.Pathway.PATHWAY_2, term = Term("201909"))
If you want to fine tune your search, all available inputs can be used on the lookup
method:
val sections = Timetable.lookup(...)