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.1.tar.gz (4.0 kB view hashes)

Uploaded Source

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