import caldav from sync_calendar import BAIKAL_URL, BAIKAL_USER, BAIKAL_PASS, HEADERS def delete_all_events(): print("-> Conectando a Baïkal...") try: client = caldav.DAVClient( url=BAIKAL_URL, username=BAIKAL_USER, password=BAIKAL_PASS, headers=HEADERS, ssl_verify_cert=True ) principal = client.principal() calendars = principal.calendars() if not calendars: print("!!! No se encontró ningún calendario.") return calendar = calendars[0] print(f"-> Calendario encontrado: {calendar}") print("-> Buscando eventos...") events = calendar.events() total_events = len(events) if total_events == 0: print("-> El calendario ya está vacío.") return print(f"-> ¡ADVERTENCIA! Se han encontrado {total_events} eventos.") confirm = input(f"¿Estás SEGURO de que quieres BORRAR TODOS los {total_events} eventos? (s/n): ") if confirm.lower() != 's': print("-> Operación cancelada.") return print("-> Borrando eventos...") deleted_count = 0 for i, event in enumerate(events, 1): try: event.delete() deleted_count += 1 if i % 50 == 0: print(f" Borrados {i}/{total_events}") except Exception as e: print(f"!!! Error borrando evento {event}: {e}") print(f"-> ¡Limpieza completada! Se han borrado {deleted_count} eventos.") except Exception as e: print(f"!!! Error: {e}") if __name__ == "__main__": delete_all_events()