All your room are belong to us!
Booker is a set of python 3 scripts that automatically book group study rooms at the ANU library.
It is in a very early development stage, core functions are still being implemented. No features are available as of yet. All of the code is being written by two first-year engineering students, so its quality it pretty terrible (sorry).
- Auto-book rooms for every timetable break
- Multiple ANU accounts (more concurrent bookings)
- Configurable timetable, room preferences, libraries
- Email notifications or Google calendar integration
Booker uses requests python library to interact with the anulib.anu.edu.au website. All the information is stored in plain-text .conf files.
Apart from the main booker.py script, there are multiple utility modules:
- config.py works with (you guessed it), .conf files, storing and loading information from them.
- network.py contains functions to interact with the anulib website.
- notify.py generates and sends out email notifications and works with the calendar.
The configuration files are:
- timetable.conf contains information about breaks during which the rooms need to be booked.
- login.conf, which is not actually present on the repo for obvious reasons, contains a list of logins and passwords to be used for booking. (There's an .example file provided).
- cbook.conf stores all the current bookings.
- email.conf will be used for all notificaton-related stuff.
- rooms.conf is a room preference file (some study rooms are much better than the others).
- 2x 2hr bookings / day (4hrs / day)
- 5x bookings / 10 days (10hrs / 10 days)
- To completely book out a room from 8am 'til midnight is 16 hours, or 4 people's bookings
- 8 people can saturate a room's booking for 1 week, every 2 weeks
- To permanently book a room (weekdays) indefinitely, 16 people's logins are required.
More appropriate would be to book a room from 10am - 8pm (10 hrs / day), 2.5 people's bookings To continue this booking for a full week would require 5 people, on a bi-weekly basis, or 10 for complete saturation.