Get Your Freaking Timetable
Report Bug
·
Request Feature
Table of Contents
Gets your timetable from ERP and adds it to your Google Calendar or gives you an ICS file which you can add in any common calendar application.
Note All updates to this repo should reflect, with appropriate refactorisation, in gyft-serve
To set up a local instance of the application, follow the steps below.
The following prerequisites are required to be installed for the project to function properly:
- Python 3
- IIT-KGP Student ERP Account
Now that the environment has been set up and configured to properly compile and run the project, the next step is to install and configure the project locally on your system.
- Clone the repository
git clone --depth 1 https://github.com/metakgp/gyft
- Change current directory to the project directory
cd gyft
- Install the dependencies
pip install -r requirements.txt
- Run the script
python3 gyft.py
- Enter your roll number, password, security answer and OTP (if required) when prompted
- Now you can choose between 2 options, which will be prompted to you:
-
- For this, you have to get your
credentials.json
and save it asclient_secret.json
to the current directory by following the Step 1 from here - Also note that adding to Google Calendar requires an Internet connection
- For this, you have to get your
-
- This will generate an ICS file which you can import into any calendar application.
- For importing to Google Calendar, follow the instructions given here.
-
- Optional flags:
- To delete all the recurring events added by the CLI or GYFT Web Application (uses property of recurrence to identify events to delete), you can run
gyft.py
with the--del-events
flag:python3 gyft.py --del-events
- To specifiy the output file (
.ics
) to which the ICS file will be written, use the--output
flag.python3 gyft.py --output autumn_2023.ics
- To delete all the recurring events added by the CLI or GYFT Web Application (uses property of recurrence to identify events to delete), you can run
This project utilizes the iitkgp-erp-login package to handle ERP login functionality.
The following procedure is to be followed each new semester by the maintainer for updating GYFT to work properly.
- Download the academic calendar for the particular year.
- New semester dates need to be updated in utils/dates.py
- The format for the date-time is
(YYYY, MM, DD, HH, MM)
. - Raise a pull request once the dates are updated.
Please read CONTRIBUTING.md guide to know more.