Skip to main content

Syncronize Lectio schedules to Google Calendar.

Project description

LecToCal

CircleCI Coverage Status

LecToCal is a python module for syncronizing Lectio schedules into Google Calendar.

By writing the schedule into Calendar in the native format, it supports notifications, viewing from Android and iOS, and everything else normally possible with a Google Calendar.

Installation

Installation is easiest using pip, as LecToCal is availble on Pypi as a package (http://pypi.org/project/lectocal/). Simply run pip install lectocal.

For more details on using pip, check out the official documentation.

Alternatively the source code can be downloaded straight from GitHub, using the "Clone or download" button in the top right.

Usage

Dependencies

If the package is installed via pip, dependencies will be handled automatically.

Otherwise, these dependencies will need to be downloaded manually - We recommend using pipenv and installing the packages as listed in the Pipfile.

Invocation

After installation, the module can be invoced with:

python -m lectocal.gauth
python -m lectocal.run

If installed via setuptools (pip does this) two executables will also be generated:

lectocal.gauth
lectocal.run

These can be executed by the system directly.

Parameters

For all the parameters supported, run the intended module with the -h or --help parameters.

Example use

  1. Generating Calendar OAuth credentials.

    The first step is to generate OAuth credentials for the Google account, to which the schedule must be written.

    This is done by running lectocal.gauth, and following the steps in the browser.

    These steps authorize lectocal to get a credential which gives full calendar access, so new events can be written, and old ones deleted.

  2. Syncronizing the schedule.

    After the OAuth credential exists, LecToCal can now write into the calendar using the API.

    Running lectocal.run at this point, scrapes the schedule for the chosen individual, and writes it to the calendar.

  3. Repeat.

    To keep a calendar up to date, step 2 will need to be repeated at a given interval. This can for example be done using cron, or a similar task scheduling system.

    As long as the OAuth credentials are not deleted from the system, or revoked from the Google account, step 1 should not need to be re-run.

Note

The generated Google Calendar should not be deleted or renamed, this may cause the system to break, or act in unexpected ways, such as creating a duplicate calendar.

Development

We love Pull Requests!

If you're interested in the project, and have an idea for something that can be improved, please feel welcome to contribute.

If you're not sure if your idea would be approved, open an issue on GitHub, or use the mailing list first.

Once you have the source, we strongly recommend using Pipenv.

Pipenv makes it easy to install the correct dependencies, so you can start working with the code.

Once you have pipenv installed on your system, navigate to the directory where this project is stored, then run: pipenv install --dev

This will create a pipenv with the right python version (If installed on your system) and all required dependencies.

At which point pipenv shell will put you in a shell where all those are available.

Happy coding!

Bugs, Feedback, Thoughts, etc.

For bugs or pull requests, please use the builtin GitHub issue tracker.

For everything else use lectocal@googlegroups.com.

Donations

If you'd like to buy me a coffee - Awesome! If you're not in a position to do that, please enjoy the software just the same - It's free for a reason.

Currently I accept BTC at: 3P4bzcKTvkz4Ey3QrAdiPa1zBKWVwsVqMb

License

LecToCal is licensed under the Apache 2.0 license, see LICENSE or apache.org for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lectocal-1.2.1.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

lectocal-1.2.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file lectocal-1.2.1.tar.gz.

File metadata

  • Download URL: lectocal-1.2.1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.3.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for lectocal-1.2.1.tar.gz
Algorithm Hash digest
SHA256 e4a35e5c0fb6133acd507692f53ae85b2876eec6d9acf064f5bd4959f5f28917
MD5 479f0115a188f0818df916696b81b98b
BLAKE2b-256 7d43f944ec68ea5704e81b9c02b17d948ab46d9252a3a49a34d6103a3cd483b2

See more details on using hashes here.

File details

Details for the file lectocal-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: lectocal-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.3.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for lectocal-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 354e9a1a0fbbf5b68ac3202248c843546ece52e0c0ce5d226ec0e0f563ca6248
MD5 ca8a3e20ff9cc5dc9b9310029db5e270
BLAKE2b-256 6b2551109306f7fa1be4859da598764a39be612bfea633cab0278567d7a40424

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page