Giter Site home page Giter Site logo

booker's Introduction

#Booker

All your room are belong to us!

Intro

Booker is a set of python 3 scripts that automatically book group study rooms at the ANU library.

Warning

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).

Planned features

  • Auto-book rooms for every timetable break
  • Multiple ANU accounts (more concurrent bookings)
  • Configurable timetable, room preferences, libraries
  • Email notifications or Google calendar integration

Technical stuff

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).

Booking Restrictions

  • 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.

booker's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.