Giter Site home page Giter Site logo

linker_epitech_to_google_calendar's Introduction

Linker_EPITECH_To_GOOGLE_Calendar

Link your Epitech calendar to your Google calendar.

Installation:

Basics

  • Clone this repository.
  • Create a config.json file with the following content:
{
    "CALENDAR_ID": "",
    "USER_COOKIE": "",
    "GetModules": false
}

Configuration

Authentications

Add your Epitech session Cookie.

Find it by going on the intra and going into dev console -> application -> cookies -> user

You need to copy the value inside the config json.

Add your Calendar ID.

First things first, you can create an Epitech sub-calendar. This step is not mandatory, but creating a sub-calendar improves your general calendar clarity and its organisation. To do so, create a new calendar by clicking on this menu:

New Calendar

Then, select the Settings and sharing menu option for this sub-calendar:

Settings and sharing

Press Ctrl+F, search for Calendar ID in the page and copy-paste the address [email protected] in the config.json file for the CALENDAR_ID key.

Specify your getter preference

If you want to retrieve modules' timeline in addition of projects' one, replace false by true in the config.json file for the GetModules key.

In the end, your configuration file should look like this:

{
    "CALENDAR_ID": "[email protected]",
    "USER_COOKIE": "XXXXXXXX",
    "GetModules": false
}

APIs configuration

Go to https://developers.google.com/calendar/quickstart/python and click on "Enable the Google Calendar API". Create a project and download the client configuration. The credentials.json must be located in the program directory.

Run sudo pip3 install --upgrade google-api-python-client oauth2client to install the Google API library, and sudo pip3 install -r requirements.txt to install all other dependencies.

If you do not have access to an internet browser (e.g., in a server context) run python3 main.py --noauth_local_webserver otherwise run python3 main.py to execute the program. You will need to connect to your Google account the first time.

Notes

You can setup a crontab to synchronise your Epitech calendar regularly. (https://crontab.guru)

linker_epitech_to_google_calendar's People

Contributors

ajnart avatar aurelienft avatar gdnathan avatar rmaxi-me avatar thalusa avatar thezap avatar victorneuret avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

linker_epitech_to_google_calendar's Issues

DAV calendar support

Is your feature request related to a problem? Please describe.
I don't use Google Calendar (unbelievable, I know) but I still want a way to read the EPITECH planner on my calendar, which is hosted on Nextcloud.

Describe the solution you'd like
A way to link this program to a WebDAV calendar for event management as an alternative to Google Calendar.

Additional context
N/A

No room activities Fix 13

got this bug since the update of Fix #13 :
(totally specific with me, tested on other computer where this work but same error. i can't know wich module of the intra create this bug)

Traceback (most recent call last):
File "./main.py", line 37, in
main()
File "./main.py", line 32, in main
calendar_craller.create_event(i, CALENDAR_ID)
File "/home/huntervcx/Documents/Linker_EPITECH_To_GOOGLE_Calendar/calendar_craller.py", line 102, in create_event
"location": event_param['room']['code'] if 'room' in event_param and 'code' in event_param['room'] else '',
TypeError: argument of type 'NoneType' is not iterable

Linker Broken

The linker recently broke.
It justs doesn't work anymore.

Any ideas how to fix it?

Linker breaking on 'status_manager'

When launching the Linker it traceback with :

Traceback (most recent call last):
File "main.py", line 37, in
main()
File "main.py", line 26, in main
epitech_activities_list = parser.get_epitech_event(EPITECH_AUTH)
File "/home/huntears/Documents/perso/Linker_EPITECH_To_GOOGLE_Calendar/parser.py", line 13, in get_epitech_event
if ('event_registered' in i and i['event_registered'] is not False) or i['status_manager'] is not None:
KeyError: 'status_manager'

I verified my auto-logging link, and the credentials.json, but couldn't find the bug. I also have all the dependencies and I'm running on Manjaro i3 (I also tried on Pop-OS, but same ending).

Stopped working - update on the intra

Error in room code since yesterday for many people.

Traceback (most recent call last): File "main.py", line 38, in <module> main() File "main.py", line 33, in main calendar_craller.create_event(i, CALENDAR_ID) File "/home/huntervcx/Documents/Linker/calendar_craller.py", line 103, in create_event "location": event_param['room']['code'], KeyError: 'code'

Error : KeyError: 'status_manager'

Hey,

When I launch the linker, I have :
Traceback (most recent call last): File "main.py", line 37, in <module> main() File "main.py", line 26, in main epitech_activities_list = parser.get_epitech_event(EPITECH_AUTH) File "/home/bourgeois/Desktop/Linker_EPITECH_To_GOOGLE_Calendar/parser.py", line 14, in get_epitech_event if i['status_manager'] is not None: KeyError: 'status_manager'
Thanks

[Feature request] iCloud support

Is your feature request related to a problem? Please describe.
As an iPhone user, being forced to have Google Calendar as a middle man is frustrating and clunky

Describe the solution you'd like
An option to use iCloud instead of Google Calendar

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.