Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Was mich wundert: Marcus ( callidomus ) ist doch ein Apple zugeneigter User - wie macht er das mit seinen Kalendern, wenn Apple nur caldav unterstützt?
from datetime import datetime
import caldav
from caldav.elements import dav, cdav
# Caldav url
url = "p53-caldav.icloud.com"
username = "aaaaa@test.de"
password = "xxxxxxxxx"
calendar_name = "Privat"
final_url = "https://"+username+":"+password+"@"+url
client = caldav.DAVClient(final_url)
principal = client.principal()
calendars = principal.calendars()
if len(calendars) > 0:
for i in range(0, len(calendars)-1):
calendar_displayname = str(calendars[i].get_properties([dav.DisplayName(),]))
if calendar_displayname.find(calendar_name) > 0:
print("Calendar ", str(i), ": ", calendars[i])
calendar = calendars[i]
print(calendar.get_properties([dav.DisplayName(),]))
print("Looking for events today")
results = calendar.date_search(datetime.today())
for event in results:
print("Found", event)
liefert mir
Code:
$ python3 caldavtest.py
Calendar 2 : https://p53-caldav.icloud.com:443/123456789/calendars/home/
{'{DAV:}displayname': 'Privat'}
Looking for events today
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/310548ba77c0e4b0fa2f704ac3dcdd9b.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/4686dcc632c282a2421877ba8d7cae58.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/60610cae0ed3c588c9b9e35358e4533b.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/6d1ef323a79403dd930c8654751aac02.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/68d7c578c50ffc6d0d14020f02a6c934.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/fb6d3893dc1cf0a95332988c6464d280.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/ff9ee233f242fed24471699f33f95ea0.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/e49e3236213d6df5ab340b0feba46b4b.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/e588c2cd4b69e2f7c59f42ab6d65c738.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/040000008200E00074C5B7101A82E00800000000605A67A2E040D20100000000000000001000000030E6EC5D301D904BAE4E5883EB42DAA3.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/a243a57775be94785b28219d81d3181e.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/f86ae580-ce49-4422-9783-84c5e426945b.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/249fd921-6a3f-4eb8-a792-f9a86b29a0cd.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/4B51F06D-6393-4CF5-B077-6E9DB2742255.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/86e8e9785376bc763a5afafb329cf629.ics
Found Event: https://p53-caldav.icloud.com:443/123456789/calendars/home/d3eb47c6-0037-4c3a-b8b0-73ff66a9fcc4.ics
ich habe meine owncloud-Kalender über CalDav eingebunden. Außerdem habe ich eine Geburtstagskalender-Datenbank, daraus erzeuge ich via PHP-Script die ICS Datei. Das klappt eigentlich alles ganz einwandfrei mit dem CalDav-Widget. Ließe sich aber sicher noch irgendwie optimieren. Was willst du denn genau basteln?
Gruß
Thomas
P.S.: Können wir ja auch am Samstag mal bequatschen ... ;-)
in einem anderen Thread konnte ich lesen, dass du geschafft hast einen Caldev Kalender einzubinden. Da wir in der Familie auch iCloud verwenden wollte ich Fragen ob es ggf. möglich wäre eine Anleitung dazu zu posten? Leider ist mein technisches Know-How nicht so gut, dass ich das selber hinkriegen würde.
1. Benötigte Kalenderdaten bekommen
a) Auf www.icloud.com anmelden und auf Kalender klicken.
Dann z.B. in Firefox auf Entwicklerumgebung und dort auf Netzwerkanalyse klicken (oder direkt einfach STRG+Umschalt+Q).
2. Notwendige Dateien
Angehängt ZIP-Datei nach "/data/callidomus/local" entpacken.
3. Persönliche Anpassungen
Dann unter logics die Datei "cloudCal.py" mit einem Editor öffnen und nach eigenen Bedürfnissen und Wünschen anpassen.
Wichtig die Kalender-Import-Zeilen anpassen (pXX : XX austauschenn, XXloginYY : dein Login, XXXpassYYY : dein Passwort und danach der jeweilige Kalendername):
Code:
familie_heute = methods.caldavimport(heute,'pXX-caldav.icloud.com','XXloginYY','XXXpassYYY','Family') # holt und parst die Calenderdatei
Der Rest ist alles von den Beispielen von Marcus und Co aus dem iCal-Thread übernommen (Danke hierfür)
Und mit viel Hilfe angepasst (Danke Stereofeld und @mumpf)
4. Items anlegen
Ich möchte z.B. die Termine von heute und morgen anzeigen, dafür hab ich 2 Items (Typ Liste) angelegt.
a) heute.Kalender und b) morgen.Kalender.
5. Logik anlegen
Damit die Einträge auch schön aktualisiert werden, muss man eine Logik anlegen. Ich lass alle 60 Minuten die Kalender synchronisieren. Bildschirmfoto vom 2017-01-26 20-59-20.png
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar