A simple script to find the depth and breadth electives available for you for subject registration
- This script uses the iit-kgp-erp-login library created by proffapt, and as such, there is some pre-requisite setup to be done
- Copy the template for
erpcreds.pyby runningcp erpcreds.py.template erpcreds.pyin the terminal - Fill
erpcreds.pywith the relevant credentials - If you want automatic OTP fetching: Generate
token.jsonfile following the instructions here
- Copy the template for
- Install dependencies by running
pip install -r requirements.txt- Run the
gyfe.pyscript following the format:
python3 gyfe.py <breadth/depth> --year <year-of-study> --session <session> --semester <semester>- The first argument is either
breadthordepth, depending on which electives you want to find --yearis your year of study (single digit), eg:3--sessionis in the formatYYYY-YYY, eg:2023-2024--semesteris eitherAUTUMNorSPRING
Note
--sessionhas a default value of2023-2024, and--semesterhas a default value ofSPRING- This must be changed every semester
- Optional flag(s):
--notp: Don't use thetoken.jsonfile to login, instead enter OTP manually (easier setup)
- This will generate either
available_breadths.txtoravailable_depths.txtdepending on the first argument
python3 gyfe.py depth --year 3 --session 2023-2024 --semester AUTUMN
# find depth electives for 3rd year, Autumn 2023-2024, with automatic OTP fetching for login
python3 gyfe.py depth --notp --year 3 --session 2023-2024 --semester AUTUMN
# find depth electives for 3rd year, Autumn 2023-2024, with manual OTP input for login
python3 gyfe.py breadth --year 3 --session 2023-2024 --semester AUTUMN
# find breadth electives for 3rd year, Autumn 2023-2024, with automatic OTP fetching for login
python3 gyfe.py breadth --notp --year 3 --session 2023-2024 --semester AUTUMN
# find breadth electives for 3rd year, Autumn 2023-2024, with manual OTP input for login- Example
available-breadths.txt:
- Example
available-depths.txt:
- See how your timetable will look like with the electives you choose (OR somehow merge this with what-slot)
- Make it a web app for ease of use

