La detección de cambios en archivos iCal
Pregunta
Estoy escribiendo una pequeña aplicación de escritorio que se conecta en el Calendario de Google (u otros iCal-powered servicios) y muestra los recordatorios de eventos.Automáticamente se vuelve a descargar el archivo iCal cada tan a menudo.Si la suma de comprobación del archivo ha cambiado, me tire a la cita actual de la caché y de reanálisis el calendario.
La cosa es que esto no funciona con Google Calendar archivos.Tras una inspección más, llegó a mi atención que el DTSTAMP:
la propiedad en todos los eventos que cambian cada vez que me redownloaded el archivo iCal asociado con un calendario determinado.Así que una suma de comprobación no puede ser el camino a seguir aquí.Hay dos soluciones principales que me estoy planteando.
- Calcular la suma de comprobación basado en el archivo original con el
DTSTAMP:
líneas tirado. (sucio) - La implementación de un completo calendario de diff algoritmo que detecta que las secciones de la agenda son nuevos, que han sido desechados, que han cambiado, etc. (caro)
No sé si el formato iCal tiene otras peculiaridades no he descubierto todavía, así que no sé si el método 1 va a resolver mi problema.Limitada, las pruebas parecen indicar que sí.Por otro lado, el método 2 parece innecesariamente costosos en términos de potencia de la CPU.
¿Qué sugeriría usted?
Solución
No estoy seguro si el calendario de google de la siguiente manera el 100% de rfc5545 pero debe haber un número de secuencia que "define la revisión de número de secuencia de la componente de calendario dentro de una secuencia de revisiones."