Я пытаюсь написать AppleScript для запроса iCal и поиска всех событий, которые у меня есть для данной даты, в любом календаре.Взаимодействие с Applescript и iCal
Я начал писать простой скрипт, который делает что-то простое с каждым событием в данном календаре:
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
Однако этот простой сценарий берется много времени, чтобы выполнить (несколько секунд), даже если я не делаю ничего сложного внутри цикла. Я боюсь, что реальный сценарий действительно займет много времени, чтобы выполнить.
Я не очень хорошо знаком с Applescript, и поэтому, я думаю, я делаю что-то глупое, что имеет серьезные последствия для производительности.
Может ли кто-нибудь объяснить мне, почему это требует многого? Может кто-нибудь предложить что-то улучшить мой код? Теперь я начну проверять дату события с условием в цикле. Я подозреваю, что должен быть способ поиска событий с датой (например, действия Automator), но я не смог найти «собственный» способ сделать это.
EDIT : Я использую Mac OS X Tiger (10.4). Возможно, что более новые версии iCal улучшили доступную библиотеку доступных операций.
Отлично! Большое спасибо! Я полностью потерял веру в этот вопрос :) – nozebacle
Это не показывает повторяющиеся события. Есть ли способ обойти это? – Dov
Я закончил тем, что отказался от API AppleScript и отказался от iCalBuddy. Вам нужно будет разобрать его вывод, но его запрос, по крайней мере, нормальный! –