Используйте яблочный скрипт для записи данных iCal в файл - PullRequest
0 голосов
/ 20 апреля 2010

Я пытаюсь получить applecript для чтения сегодняшних событий и записи их в файл. Код выглядит следующим образом:

set out to ""
tell application "iCal"
set todaysDate to current date
set time of todaysDate to 0
set tomorrowsDate to todaysDate + (1 * days)
repeat with c in (every calendar)
set theEvents to (every event of c whose start date ≥ todaysDate and start date <      tomorrowsDate)
repeat with current_event in theEvents
 set out to out & summary of current_event & "
 "
end repeat
end repeat
end tell

set the_file to (((path to documents folder) as string) & "DesktopImage:ical.txt")
try
open for access the_file with write permission
set eof of the_file to 0
write out to the_file
close access the_file
on error
try
close access the_file
end try
end try

return out

Правильные элементы возвращаются правильно, и файл ical.txt правильно создается в папке Documents / DesktopImage, но файл пуст.

Даже если я заменю

 write out to the_file

с

 write "Test string" to the_file

все еще пусто

есть идеи?

Ty

1 Ответ

1 голос
/ 21 апреля 2010

Чтобы что-то исправить, сначала нужно выяснить, что не так. Вы можете получить сообщение об ошибке при вызове вашего обработчика ошибок, а затем отобразить его:

on error msg
    display dialog "Error accessing " & (the_file as string) & ": " & msg

Как только вы это сделаете, вы быстро увидите проблему: the_file - это строка, а не файл, поэтому все операции с файлами завершатся неудачно. Определите the_file как:

set the_file to alias (((path to documents folder) as string) & "DesktopImage:ical.txt")
...