Skip to main content

Periodically retrieve ICS files in order to serve them with CalDAV.

Project description

build status

ICalRetriever is a HTTP ICS retriever. It is designed to be called by a crontab each hour in order to download an ICalendar file from a designed HTTP location, eventually apply filters on it, and then write it to the disk.

Then, you can serve the ICal to WebDAV clients (using Radicale WebDAV server for example) in readonly mode, so that their synchronised ICal file is updated each hour conforming to the ICS HTTP source.

Installing

ICalRetriever is available on PyPI as icalretriever.

Usage

Simply call the retriever with the configuration file as parameter.

$ icalretriever-retrieve.py myConfig.yml

Configuration file

Configuration is written in YAML.

You can sync multiple calendar using one configuration file. Here is an example of configuration file you may want to copy and adapt to your needs:

calendars:
 - name: Fake calendar (filtered)
   file: output_filtered.ics
   url: http://perdu.com/fake.ics
   filters:
     - name: remove_days
       args: [5, 6]
     - name: remove_name
       args: ["Boring event I dont want", "Another boring event"]

 - name: Fake calendar (not filtered)
   file: output.ics
   url: http://perdu.com/fake.ics

License

This program is brought to you under MIT license. For further informations, please read the provided LICENSE file.

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

icalretriever-2.1.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file icalretriever-2.1.tar.gz.

File metadata

  • Download URL: icalretriever-2.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for icalretriever-2.1.tar.gz
Algorithm Hash digest
SHA256 90be119a24fdb68186715eb5a60e65eda40da6139df4e798398df30b7d5c26f7
MD5 fa18434cb31e4d89510bd8fe8f452bc4
BLAKE2b-256 81a53a6557786ccb19a89fdf22844264a73db5bcc4b40f6891845d06f9c626b9

See more details on using hashes here.

Supported by

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