Domanda

Sto scrivendo una piccola applicazione desktop che si inserisce in Google Calendar (o altri servizi elettrici ICAL) e visualizza i promemoria degli eventi. Carica automaticamente il file ICAL ogni così spesso. Se il checksum del file è cambiato, lancio la cache dell'appuntamento corrente e riparando il calendario.

La cosa è, questo non funziona con i file del calendario di Google. Dopo un'ulteriore ispezione, è arrivata alla mia attenzione che il DTSTAMP: Property su tutti gli eventi modificati Ogni volta che ho caricato il file ICAL associato a un determinato calendario. Quindi un checksum standard potrebbe non essere il modo di andare qui. Ci sono due soluzioni principali che sto considerando.

    .
  • Calcolando il checksum in base al file originale con le linee DTSTAMP: lanciate. (sporco)
  • Implementazione di un algoritmo diffico completo del calendario che rileva quali sezioni del calendario sono nuove, che sono state gettate fuori, che sono cambiate, ecc. (costoso)

    Non so se il formato iCal ha altre stranezze che non ho ancora scoperto, quindi non so se il metodo 1 risolverà il mio problema. I test limitati sembrano indicare che lo fa. D'altra parte, il metodo 2 sembra inutilmente costoso in termini di potenza della CPU.

    Cosa suggeriresti?

È stato utile?

Soluzione

Non è sicuro se Google Calendar segue il 100% di RFC5545 ma dovrebbe esserci un numero di sequenza che "definisce il numero di sequenza di revisione del componente del calendario all'interno di una sequenza di revisioni."

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top