Skip to main content

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.

Metadata

Release files for twomartens.calendarsync 1.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for twomartens.calendarsync 1.1.3
File Size Uploaded Provenance
twomartens.calendarsync-1.1.3.tar.gz 7.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for twomartens.calendarsync 1.1.3
File Interpreter ABI Platform
twomartens.calendarsync-1.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 18.2 kB

Release files / twomartens.calendarsync-1.1.3.tar.gz

Download URL twomartens.calendarsync-1.1.3.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3679f1879c12787c853460d9e2e1704319181851eec4f25d8a2283f0282eca53
BLAKE2b-256 checksum
How to use checksums
40162555a644cb97a7bcd78650a710cdb7dcbb0945c8448b61f78e0d145b56a4
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / twomartens.calendarsync-1.1.3-py3-none-any.whl

Download URL twomartens.calendarsync-1.1.3-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e07525306dcd15a791783a14345a548164c603a4bf7ece71f756925589e61961
BLAKE2b-256 checksum
How to use checksums
4154f796b04e0f9ab03d4322d198e55dae7603072a9675c6261b57762f503ec7
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for twomartens.calendarsync 1.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page