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}")