Skip to main content

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

twomartens.calendarsync-1.1.2.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

twomartens.calendarsync-1.1.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file twomartens.calendarsync-1.1.2.tar.gz.

File metadata

  • Download URL: twomartens.calendarsync-1.1.2.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

Hashes for twomartens.calendarsync-1.1.2.tar.gz
Algorithm Hash digest
SHA256 4cc2182559b89c33e794a8dcd70d1a453e5d35f472de43ff4f318f51b2f357e8
MD5 9b1a08c8e65cfd8784c38e87ba27590b
BLAKE2b-256 6948694d7eff9b58fc5faad30b01318650ecc3bbebfed99a0c226b9e4e840b33

See more details on using hashes here.

File details

Details for the file twomartens.calendarsync-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: twomartens.calendarsync-1.1.2-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

Hashes for twomartens.calendarsync-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6752ce308bc413c2d98d9c671c071d05ca05be10120b8f0752bc4aaaad8441f0
MD5 22324cb8d03c6bc009eebd57d3b52bf6
BLAKE2b-256 7ab88c6bba0b977ecbe7c2d8cde7e6a8ac3c4ddc9a4bff51885e504ba7bfc275

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