Mostra gli anniversari di oggi (se ce ne sono) dai contatti

0

Mi piacerebbe essere in grado di eseguire uno script che guarderebbe attraverso il mio elenco Contatti e produrrà il nome (e, preferibilmente, il numero di telefono) di chiunque abbia la data di "Anniversario" che corrisponde oggi. (Lo script dovrebbe essere qualcosa che posso eseguire su OS X 10.9 e output su stdout.)

Posso fare lo stesso per i compleanni usando il comando contacts di link (o brew install contacts ) ma non fa lo stesso per gli indirizzi.

Ho trovato un post Suggerimenti per Mac OS X che suggeriva che avrebbe potuto funzionare tramite sqlite3 ma non sono riuscito a farlo funzionare. (Il che non vuol dire che non può essere fatto, solo che non sono stato in grado di farlo.)

Mi viene in mente che qualcuno potrebbe aver già inventato questa particolare "ruota" e io non ne sono a conoscenza. Oltre ai due link sopra, Google non è stato particolarmente utile.

    
posta TJ Luoma 07.07.2014 - 19:20
fonte

1 risposta

1

Guardando il database che viene aperto da quello snippet di SQLite in Navicat non vedo nessun dato lì; Suppongo che lo spostamento di iCloud abbia causato alcuni cambiamenti, ma forse non lo visualizzo correttamente.

Se hai un account sviluppatore potresti cercare la documentazione per la programmazione della rubrica . C'è supporto piuttosto ricco per la ricerca e sarei scioccato se non si riuscisse a cercare le date corrispondenti. Gli anniversari sembrano non avere un loro tipo distinto: esiste una costante di proprietà per kABBirthdayProperty ma nulla come Anniversary, quindi presumibilmente rientra in kABOtherDatesProperty.

kABOtherDatesProperty
Dates associated with a person (ABMultiDateProperty containing dates).
Available in OS X v10.3 and later.
Declared in ABGlobals.h.

E sicuramente, c'è un identificatore (apparentemente l'unico identificatore fornito) per altre date.

Etichette di altre date Etichette per i valori contenuti nelle proprietà multi-valore ABOtherDatesProperty.

kABAnniversaryLabe l
Constants
kABAnniversaryLabel
Anniversary date.
Available in OS X v10.3 and later.
Declared in ABGlobals.h.
Availability
Available in OS X v10.3 and later.

Immagino che questo sotto-elenco sia il motivo per cui l'app a linea di comando che tu fai riferimento non sputa gli anniversari; dovrebbe essere consapevole della possibilità di altri tipi di data in quella "altra" categoria. Ma penserei che potrebbe essere esteso per gestirli (se funziona ancora?)

Dato quanto sopra, potresti vedere se puoi scrivere una semplice applicazione Swift per sputare tutte le voci con gli anniversari. Puoi fare app a linea di comando con esso. Applescript non ti aiuterà: i contatti come interfaccia non sembrano condividere altre date di tipo.

    
risposta data 07.07.2014 - 22:48
fonte

Leggi altre domande sui tag