Zeigen Sie die heutigen Jahrestage (falls vorhanden) von Kontakten an

0

Ich möchte in der Lage sein, ein Skript auszuführen, das meine Kontaktliste durchsucht und den Namen (und vorzugsweise die Telefonnummer) aller Personen ausgibt, deren "Jahrestag" -Datum heute übereinstimmt. (Das Skript sollte etwas sein, das ich unter OS X 10.9 ausführen und auf stdout ausgeben kann.)

Ich kann dasselbe für Geburtstage tun, indem ich den contactsBefehl von http://www.gnufoo.org/contacts/contacts.html (oder brew install contacts) verwende, aber dies gilt nicht für Adressen.

Ich habe einen Mac OS X Hints- Beitrag gefunden, der darauf hindeutet, dass es möglicherweise funktioniert, sqlite3aber ich habe nicht geschafft, dass das funktioniert. (Das soll nicht heißen, dass es nicht geht, nur dass ich es nicht geschafft habe.)

Mir kommt der Gedanke, dass jemand dieses spezielle "Rad" bereits erfunden hat, und ich bin mir dessen einfach nicht bewusst. Abgesehen von den beiden oben genannten Links war Google nicht besonders hilfreich.

TJ Luoma
quelle
Kalender macht das (als Kontakte Geburtstage), Skype auch andere ..
Ruskes
Ja, aber das hilft mir nicht, die Ausgabe in ein Skript zu bekommen, was ich brauche.
TJ Luoma
Sie müssen es wahrscheinlich zuerst exportieren: subclassed.com/apps/export-address-book/support
Ruskes

Antworten:

1

Wenn ich die Datenbank betrachte, die von diesem SQLite-Snippet in Navicat geöffnet wird, sehe ich dort keine Daten. Ich würde annehmen, dass der iCloud-Umzug einige Änderungen verursacht hat, aber ich sehe ihn möglicherweise nicht richtig an.

Wenn Sie über ein Entwicklerkonto verfügen, lesen Sie möglicherweise die Dokumentation zur Adressbuchprogrammierung . Es gibt eine ziemlich umfangreiche Unterstützung für die Suche und ich wäre schockiert, wenn Sie nicht nach passenden Daten suchen könnten. Jahrestage scheinen keinen eigenen Typ zu haben - es gibt eine Eigenschaftskonstante für kABBirthdayProperty, die jedoch nicht mit Anniversary vergleichbar ist. Daher fällt sie vermutlich unter kABOtherDatesProperty.

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

Und sicher gibt es eine Kennung (anscheinend die einzige vorab bereitgestellte Kennung) für andere Daten.

Andere Datumsbezeichnungen Bezeichnungen für Werte in ABOtherDatesProperty-Eigenschaften mit mehreren Werten.

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.

Ich stelle mir vor, diese Unterauflistung ist der Grund, warum die Befehlszeilen-App, auf die Sie verweisen, keine Jahrestage ausspuckt. es müsste die Möglichkeit anderer Datumstypen in dieser "anderen" Kategorie kennen. Aber ich würde denken, dass es erweitert werden könnte, um mit ihnen umzugehen (wenn es noch funktioniert?)

In Anbetracht des oben Gesagten könnten Sie sehen, ob Sie eine einfache Swift-App schreiben können, um alle Einträge mit Jahrestagen auszuspucken. Sie können damit Befehlszeilen-Apps erstellen. Applescript hilft Ihnen nicht weiter - die Benutzeroberfläche "Kontakte als" scheint keine anderen Typdaten zu teilen.

Don
quelle
Danke, Don. BusyCal fasst irgendwie einen "Jahrestags" -Kalender zusammen, also muss es möglich sein, obwohl wer weiß, was sie tun, damit es funktioniert.
TJ Luoma