Samstag, 2. Januar 2021

Müllkalender in die Owncloud importieren

Mein Entsorger bietet eine praktische Funktion an, in der er die Abholungstermine als iCal (.ics) Datei bereitstellt. 
Leider kann die .ics Datei so nicht ohne weiteres in die Owncloud importiert werden. Zur Umwandlung der Datei verwende ich folgendes Linux Kommando:

sed 's/\r//' Downloads/muellkalender.ics | sed '/DTSTART.*/s/$/T060000Z/' | sed '/DTEND.*/s/$/T060000Z/' > owncloud-cal.ics

Die Datei owncloud-cal.ics, kann jetzt einfach importiert werden.

*** UPDATE ***

Seit letztem Jahr wurden die Einträge immer für zwei aufeinanderfolgende Tage angezeigt. Das habe ich gefixt, allerdings braucht man dazu ein kleines Python Skript.

Dazu den folgenden Inhalt die Date bdg4owc,py kopieren und anschließend:

python bdg4owc.py <Pfad zur BDG Datei.ics>  aufrufen. Der konvertierte Kalender befindet sich dann in /tmp/bdg4owncloud.ics.

Python: 

#!/bin/python
import sys

in_cal = open(sys.argv[1], "r")
out_cal = open('/tmp/bdg4owncloud.ics', 'w')

content = in_cal.readlines()
dt_start=""
for line in content:
if line.startswith('DTSTART'):
parts = line.split(':')
if parts[1].find('T') == -1:
out_cal.write(line.strip() + 'T060000Z\n')
dt_start = parts[1].strip()+'T060000Z'
elif line.startswith('DTEND'):
parts = line.split(':')
if len(dt_start) == 0:
out_cal.write(line.strip() + 'T060000Z\n')
else:
out_cal.write(parts[0]+":"+dt_start+'\n')
else:
out_cal.write(line)