Generate a list of calendar events from a conference-hall JSON export
A typical generated schedule would look like this
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
To run the script (python or docker), you need to have an existing Google Agenda credentials.json
.
To obtain it, you'll have to create a google api account, add the Google Agenda API, then download the credentials.json
file for the OAuth 2 client you've created (see this example).
See one of these links as an example documentation:
Copy the config-example.json
file to config.json
and change it according to your needs (it should be documented enough for you to understand).
Typically, you should have to change the used dates
which contain the time slots for conferences.
Install Docker for your environment, then run the docker image by using the following command depending on your OS:
On Mac/Linux:
docker run -v /absolute/path/to/conf/folder:/conf riduidel/conference-hall-to-calendar:latest
And to use current directory
docker run -v ${pwd}:/conf riduidel/conference-hall-to-calendar:latest
On Windows:
docker run -v C:/absolute/path/to/conf/folder:/conf riduidel/conference-hall-to-calendar:latest
And to use current directory
docker run -v %cd%:/conf riduidel/conference-hall-to-calendar:latest
Note: This command require to have
credentials.json
already created in your project!
- Install Python 3 and pip
- Checkout this project
- Then
pip install -r requirements.txt
And you're ready to go !
To run the script, you need to have an existing Google Agenda credentials.json
.
To obtain it, you'll have to create a google api account, add the Google Agenda API, then download the credentials.json
file.
See Google API Authentication as an example documentation.
Copy the config-example.json
file and change it according to your needs (it should be documented enough for you to understand).
Typically, you should have to change the used dates
which contain the time slots for conferences.
Now you can run the script with python transformer.py
!
We use the conference name, as defined in conference-hall. Associated Google calendar will be created on the fly (if it doesn't yet already exists).
There are no automated tests, sorry
This is quite Docker textbook example:
First, build and tag the image: docker build . -t riduidel/conference-hall-to-calendar:latest
Login: docker login
And push the image docker push riduidel/conference-hall-to-calendar:latest
Just submit pull request, and if it is good, it will go !
I'm not aware of Python versioning :-(
You may get google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', {'error': 'invalid_grant', 'error_description': 'Bad Request'})
.
This may be due to the token.pickle
being too old (this file is generated by Google API client).
In such a case, delete this file and retry. If you still get the error, well, you have a real error.
- Nicolas Delsaux - Initial work - Riduidel
See also the list of contributors who participated in this project.
This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE.md file for details
- Thanks to authors of conference-hall.io
- Thanks to Seb Velay for ideas on how to use Google correctly