Ics2owncloud.py
Webcal subscriptions that work with ownCloud 9
Install / Use
/learn @buzz/Ics2owncloud.pyREADME
ics2owncloud.py
This script downloads iCal files and imports them to ownCloud using CalDAV.
Pull requests welcome!
Important note
The calendar app supports calendar subscriptions for some time now. However these calendars can't be sync'd to your devices. If you need this you can still use this script to import events to "normal" calendars that are available for sync'ing.
Requirements
Just make sure the virtualenv command is in $PATH when running
ics2owncloud.sh. icalendar and Requests are installed automatically.
Installation
$ git clone https://github.com/buzz/ics2owncloud.py.git
Configuration
Configuration file
Create and edit config file:
cp ics2owncloud.ini.example ~/.ics2owncloud.ini
A config file with two entries looks like this:
[DEFAULT]
username: tom
password: 123456
server: https://cloud.example.com/
[import_a]
calendar: calendar_xy
ics_url: https://USER1:XXX@cloud.owncloud.org/index.php/apps/calendar/export.php?calid=6
[import_b]
calendar: facebook
ics_url: https://www.facebook.com/ical/u.php?uid=10000123456789&key=ABCDEFGHIJKL
username- ownCloud userpassword- ownCloud passwordserver- ownCloud server URLcalender- ownCloud calendar nameics_url- URL to the ICS file to download (can have username:password format)
Don't forget to protect your config file:
$ chmod 600 ~/.ics2owncloud.ini
Cron job
A cron job comes in handy to periodically import calendars:
$ crontab -e
This runs the script every 30 minutes:
*/30 * * * * /PATH/TO/ics2owncloud.sh >/dev/null
Related Skills
node-connect
352.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
