| add_event_dav |
pipeline |
py |
pipelines |
1.0.0 |
impure |
def add_event_dav(summary: str, start: str, end: str = '', *, location: str = '', description: str = '', all_day: bool = False, rrule: str = '', alarm_minutes: int = 0, uid: str = '', base_url: str = DEFAULT_BASE_URL, username: str = DEFAULT_USERNAME, collection_path: str = DEFAULT_COLLECTION, secret_path: str = 'dav/xandikos-enmanuel', timeout_s: float = 20.0, verify_tls: bool = True) -> dict |
One-shot que anade UN evento al calendario CalDAV de Enmanuel (Xandikos self-hosted) en una sola llamada. Compone build_vevent (componer el VCALENDAR), extract_or_make_uid (UID si falta), pass_get_secret (resolver la contrasena DAV desde pass) y caldav_put_event (HTTP PUT). Impuro: escritura remota real. Idempotente por UID. La contrasena nunca se logea ni aparece en el resultado. Defaults apuntan al calendario de Enmanuel. |
| dav |
| caldav |
| calendar |
| event |
| pipelines |
|
| name |
desc |
| summary |
titulo del evento (-> SUMMARY). Obligatorio. |
|
| name |
desc |
| start |
fecha/hora de inicio, p.ej. '2026-06-20T17:00' (naive local), con sufijo 'Z' para UTC, o '2026-06-20' para all_day. Obligatorio. |
|
| name |
desc |
| end |
fecha/hora de fin. Si vacio y no es all_day, se deriva +1h del start; si all_day, el dia siguiente. |
|
| name |
desc |
| location |
lugar del evento (-> LOCATION). |
|
| name |
desc |
| description |
descripcion del evento (-> DESCRIPTION). |
|
| name |
desc |
| all_day |
bool. Si True, evento de dia completo (DTSTART;VALUE=DATE). |
|
| name |
desc |
| rrule |
regla de recurrencia RRULE, p.ej. 'FREQ=WEEKLY;BYDAY=MO'. |
|
| name |
desc |
| alarm_minutes |
int. Si > 0, anade un recordatorio (VALARM display) N minutos antes. |
|
| name |
desc |
| uid |
UID explicito del evento. Si vacio, se sintetiza determinista del VCALENDAR (re-subir el mismo evento sobrescribe = idempotente). |
|
| name |
desc |
| base_url |
URL base del servidor DAV. Default = Xandikos de Enmanuel. |
|
| name |
desc |
| username |
usuario para HTTP Basic auth. Default 'enmanuel'. |
|
| name |
desc |
| collection_path |
ruta de la coleccion CalDAV destino. Default '/enmanuel/calendars/calendar/'. |
|
| name |
desc |
| secret_path |
ruta del secreto en pass con la contrasena DAV. Default 'dav/xandikos-enmanuel'. |
|
| name |
desc |
| timeout_s |
timeout del PUT en segundos. Default 20.0. |
|
| name |
desc |
| verify_tls |
si True (default) verifica el certificado TLS. No desactivar salvo entornos de prueba. |
|
|
dict. En exito: {status: 'ok', http_status: int, uid: str, url: str}. En error (sin lanzar): {status: 'error', error: str, uid: str|None, http_status: int|None}. La contrasena nunca aparece en el resultado. |
| build_vevent_py_core |
| extract_or_make_uid_py_infra |
| pass_get_secret_py_infra |
| caldav_put_event_py_infra |
|
|
|
false |
error_go_core |
|
false |
|
|
python/functions/pipelines/add_event_dav.py |