Hola, tengo configurado un Apache2 con WebDav y autenticación htpaswd para el
mismo. En el directorio comparto un calendario ICS.
Funciona bien, accedo a él desde Kontact, lo modifico, añado fechas, etc...
perfecto.
Pero lo que yo quiero hacer es un código (PHP, Ruby, bash...) que realice una
consulta a dicho recurso vía webdav, y que consista en:
"Devuelve true si el día de hoy es festivo según ese calendario webdav".
La verdad es que se me plantean un mar de dudas:
- ¿El formato ICS dispone de algún atributo concreto para definir el día
como "festivo"? Por lo que he leído en el RFC entiendo que me puede servir el
atributo "CATEGORIES:Festivo", ¿alguna sugerencia al respecto?
- Necesito algún lenguaje de programación que disponga de librerías para
acceso webdav, y más difícil aún, que permita leer un calendario ICS. El
lenguaje puede ser cualquiera (si es PHP, Ruby o bash mejor).
- Otra opción, para simplificar un poco, sería acceder al calendario vía HTTP
en vez de WebDav, ya que sólo me interesa la lectura. Con esto quito la
necesidad de acceso webdav, pero me preocupa el no encontrar nada sobre
lectura de calendarios ICS en librerías de cualquier lenguaje.
Además, esta solución consistiría en descargar todo el calendario vía HTTP en
cada consulta y luego leerlo como si fuese un texto, no me parece serio ni
eficiente.
- Lo más interesante que he encontrado es un proyecto llamado CalDAV, que
consiste, más o menos, en un protocolo precisamente para leer/escribir en un
calendario vía webdav:
http://ietf.osafoundation.org/caldav/index.html
http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe36ec/index.jsp?path=dsonline/0504&file=w2sta.xml&xsl=article.xsl
Parece muy interesante, pero no creo que lo pueda utilizar para mi propósito
por no haber aún clientes ni librerías (por lo que he visto).
En fin, que me he metido en un jaleo importante, ¿a alguien se le ocurre algo?
Para simplificar supongamos que nos olvidamos de webdav y que periódicamente
me descargo el ICS completo y lo tengo en un archivo de texto local, así que
mi código sólo debe "parsearlo" y analizar si el día de hoy es festivo
(mirando si hay alguna entrada para este día y que contenga
CATEGORIES:Festivo").
Gracias por cualquier sugerencia.