Files
NxCalDav/test.py
Lennart J. Kurzweg (Nx2) 1d99749f72 progress
2026-03-22 18:48:45 +01:00

36 lines
1.2 KiB
Python

import os
import yaml
from caldav import DAVClient
from ics import Calendar
from datetime import datetime
if __name__ == "__main__":
with open("config.yaml") as f:
config = yaml.safe_load(f)
url = "http://localhost:8080/"
# Diane checks the aggregate 'lennart' calendar
diane_client = DAVClient(url, username="diane", password="123")
d_principal = diane_client.principal()
print("\n--- Diane viewing Aggregate 'lennart' calendar ---")
agg_path = "/lennart/calendars/lennart/"
lennart_agg = next(c for c in d_principal.calendars() if agg_path in c.url.path)
events = lennart_agg.events()
print(f"Events found in aggregate: {len(events)}")
for e in events:
print(f" - Path: {e.url.path}")
if not e.url.path.startswith(agg_path):
print(f" ERROR: Path {e.url.path} is NOT under the aggregate {agg_path}!")
# Test individual GET (GetCalendarObject)
try:
data = e.data
c = Calendar(data)
for ev in c.events:
print(f" Fetched: {ev.name} (UID: {ev.uid})")
except Exception as err:
print(f" ERROR fetching individual item: {err}")