Haswf / UnimelbTimetableTool

A spider to automatically sync your Melbourne university timetable to Google Calendar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unimelb Timetable Tool

A python spider to automatically add your Melbourne university timetable to Google Calendar.

2019730000201dama.png

Quickstart

  1. Download this repository.

  2. Since there project is still at a very early stage of development at the moment, you need a working Google calendar API to run this script, which can be obtained here.

  3. Click ENABLE THE GOOGLE CALENDAR API, log in your google account, then save credentials.json to UnimelbTimetableTool/gcalendar.

    123.png

  4. Make sure you have packages required for this project installed in your python environment. This can be done via the following command.

    pip3 install -r requirements.txt
    

    Be advised that installation of scrapy via pip required platform specific dependencies. Please read Platform specific installation notes for further information.

  5. Run main.py in timetable directory. This will run spider to fetch your timetable.

  6. Run calendar_api.py to insert class information to google account. During this process, an authorization page will pop up. Please log in the google account to where you want events to be inserted.

  7. Have fun.

Features

  • Log into My Unimelb timetable page
  • Save login credential locally
  • Extract class information from the page
  • Save class information in JSON format
  • Add class to google calendar using calendar API
  • Set recurrence event
  • Label subjects with colors
  • Insert events to a separate calendar
  • Update event details if your timetable has changed
  • Delete events added by UnimelbTimetableTool
  • Project-level setting file
  • Requirements.txt
  • Customize colour
  • Customize reminders
  • User-friendly GUI

Contributor

Haswf

hanx7

Thank you for your contribution to this project.

About

A spider to automatically sync your Melbourne university timetable to Google Calendar


Languages

Language:Python 100.0%