Tool that synchronizes Jekyll event collection with remote calendar
Project description
Calendar synchronization
This is a small tool that can be used to synchronize a Jekyll event collection with a remote calendar.
Installation
Use Python package manager
pip install twomartens.calendarsync
Afterwards you can use tm-calendarsync
to access the CLI interface. If you installed
the package into a virtual environment, this environment needs to be activated. Otherwise
the tm-calendarsync
command will not be known.
Usage
tm-calendarsync calendar_url event_collection_path
The CLI interface validates the input and guarantees that the URL is valid and the directory of the event collection exists. It however does not make logical checks. So you need to make sure that the directory is actually the correct one. The URL for the calendar must be readable without authentication and point to an ICS file.
If the input is correct the tool will go through ALL events of the calendar and create files in the event collection directory. The filename of these is as follows:
YYYY-MM-DD-title.markdown
where all spaces in the title are replaced by underscores (_
).
The content of these files follows this structure:
# preamble for Jekyll event (this line is not actually written)
---
layout: event
title: <name>
date: <created>
start_date: <begin>
end_date: <end>
location: <location>
address: <address>
---
Both location and address are extracted from the location field in a calendar event. If a colon (:) is existing the first part is the location and the latter part the address. If it does not exist the content of the location field will be used for both location and address.
The full usage of this tool becomes obvious if you create a cronjob or something similar that executes this code every x amount of time.
Note: Even if you run this as a cronjob it will not yet result in any visible changes to the Jekyll-powered website. You will need to trigger the build yourself in whatever way makes sense to you.
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
Built Distribution
File details
Details for the file twomartens.calendarsync-1.1.3.tar.gz
.
File metadata
- Download URL: twomartens.calendarsync-1.1.3.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3679f1879c12787c853460d9e2e1704319181851eec4f25d8a2283f0282eca53 |
|
MD5 | afbb8eb24dd305753c94c34d4dc24c22 |
|
BLAKE2b-256 | 40162555a644cb97a7bcd78650a710cdb7dcbb0945c8448b61f78e0d145b56a4 |
File details
Details for the file twomartens.calendarsync-1.1.3-py3-none-any.whl
.
File metadata
- Download URL: twomartens.calendarsync-1.1.3-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e07525306dcd15a791783a14345a548164c603a4bf7ece71f756925589e61961 |
|
MD5 | 5b3ce392b43af59cb1848b0e57f02f5e |
|
BLAKE2b-256 | 4154f796b04e0f9ab03d4322d198e55dae7603072a9675c6261b57762f503ec7 |