Da ich gern mit #Mindmap arbeite und ToDos im Kalender verwende, versuche ich gerade ein Tool zum Synchronisieren zu basteln. Mit #Python verbinde ich mich zu #ical #caldav Server und will alle Aufgaben in eine #Freeplan Mindmap aktualisieren. Nur umwandeln habe ich schon in beide Richtungen mm --> ics und ics --> mm

Der Prototyp liest ical vom Server und Mindmap ein, prüft auf gleiche oder verschiedene Last-Modified Zeiten und erkennt ob irgendwo eine neue Aufgabe aufgetaucht ist.

Jetzt müssen die Aktionen noch programmiert werden: neu anlegen oder aktualisieren

komplizierter als gedacht ist es mit #caldav vollständige Todos zu erzeugen, mit created und last-modified Feld, womöglich noch Related-to... aktuell werden sie zwar in die Nextcloud eingetragen aber nicht vollständig verarbeitet...
Ich werde mir ein minimal Beispiel zum Testen erstellen müssen.
Ich habe wieder etwas weitergearbeitet. Für die #Mindmap|s nutze ich #Freeplane mit https://github.com/nnako/freeplane-python-io Die UIDs müssen einem speziellen Format entsprechen, d.h. um die zugehörige ical-UID zu speichern lege ich in der Mindmap im Knoten ein Attribut an. Das geht schon mal 🙂
GitHub - nnako/freeplane-python-io: a Python library to directly access Freeplane mindmap files

a Python library to directly access Freeplane mindmap files - GitHub - nnako/freeplane-python-io: a Python library to directly access Freeplane mindmap files

GitHub

Für den Zugriff auf die #Nextcloud nutze ich die #python Bibliothek caldav

Aktuell überträgt es neue Einträge in beide Richtungen und löscht Aufgaben, wenn sie seit letzter Syncronisation gelöscht wurden.

Offen ist die Aktualisierung, wenn eine Aufgabe in der Mindmap oder in der #Nextcloud geändert wurde.

https://pypi.org/project/caldav/

caldav

CalDAV (RFC4791) client library

PyPI