feat: Implement initial project setup including calendar synchronization scripts, dependency management, and Docker configuration.
This commit is contained in:
57
delete_calendar.py
Normal file
57
delete_calendar.py
Normal file
@@ -0,0 +1,57 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user