Git Product home page Git Product logo

gyft's Introduction

gyft

Get Your Freaking Timetable

NOTE: All updates to this repo should reflect, with appropriate refactorisation, in gyft-serve

About

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: Please use this utility with python3.

instructions

Updates To Be Made Each Sem

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 dates.py
  • The format for the date-time is (YYYY, MM, DD, HH, MM).
  • Raise a pull request once the dates are updated.

How to use the program?

  • Step 1: Get your timetable from ERP:

    Run the Gyft script locally (using Python)

    Clone this repository and run the following command:

    $ pip install -r requirements.txt
    $ python3 gyft.py --user <ROLL_NUMBER>

    Enter your password and security answer when prompted.

    Your timetable will be saved in data.txt. Make any changes required in data.txt. Then, proceed to Step 2.

    Use the web application on any browser

    • Go to the GYFT WebApp.
    • Enter your roll number and get the security question.
    • Once the security question is fetched, enter your credentials and save the ICS file.
    • Move to step 2(b)(ii).

    Source at nishnik/gyft-serve.

  • Step 2: Decide whether you want to add the events to Google Calendar or generate an ICS file from the data.

    Adding to Google Calendar requires an Internet connection

    ICS files are compatible with almost all Calendar applications (including the iOS calendar application, Sunrise etc)

  • Step 2(a): If you decide on adding your events to your Google Calendar:

    • Step (i): Get your credentials.json and save it as client_secret.json to the current directory by following the Step 1 from here.

    • Step (ii): Now, run:

      $ python add_events.py
    • MISC: To delete all the recurring events (It deletes all the events having summary: Class Of *):

      $ python del_events.py
  • Step 2(b): If you decide on generating an ICS file:

    • Step (i): Run the command:

      $ python3 generate_ics.py
      # you can provide input and output file path to this python script
      $ python3 generate_ics.py --input d.txt --output t.ics
    • Step (ii): Open your calendar application and import this ICS file into it.

      For google calendar, follow the instructions given here.

Development Notes

If you manually edit the subjects.json file, re-indent and pretty print the file using this command: (you will need jq)

jq -S --indent 4 . subjects.json

License

GPLv3.

Contributing

Please read CONTRIBUTING.md guide to know more.

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.