J'essaye d'écrire un AppleScript pour interroger iCal et trouver tous les événements que j'ai pour une date donnée, dans n'importe quel calendrier.Interaction Applescript et iCal
J'ai commencé par écrire un script simple qui fait quelque chose de simple avec chaque événement dans un calendrier donné:
tell application "iCal"
tell calendar "Reuniones"
set the_events to every event
repeat with an_event in the_events
-- do something with every event
set value to summary of an_event
end repeat
end tell
end tell
Cependant, ce script simple est pris beaucoup de temps pour exécuter (quelques secondes), même si je ne fais rien de complexe dans la boucle. J'ai peur que le vrai script prenne vraiment beaucoup de temps à exécuter. Je ne suis pas très familier avec Applescript, et donc j'imagine que je fais quelque chose de stupide qui a de graves implications sur les performances.
Quelqu'un peut-il m'expliquer pourquoi cela prend autant de choses à exécuter? Quelqu'un peut-il suggérer quelque chose pour améliorer mon code? Je vais maintenant commencer à vérifier la date de l'événement, avec une condition dans la boucle. Je suppose qu'il doit y avoir un moyen de rechercher des événements avec une date (comme l'action Automator), mais je n'ai pas été en mesure de trouver un moyen "natif" de le faire ....
EDIT : J'utilise Mac OS X Tiger (10.4). Il est possible que les nouvelles versions d'iCal aient amélioré la bibliothèque d'opérations disponibles.
Très bien! Merci beaucoup! J'avais totalement perdu la foi sur cette question :) – nozebacle
Cela ne montre pas les événements qui se répètent, cependant. Y a-t-il un moyen de contourner cela? – Dov
J'ai fini par abandonner l'API AppleScript et tomber sur iCalBuddy. Vous aurez besoin d'analyser sa sortie, mais son interrogation est au moins sensée! –