Write out Reminders to file on desktop
tell application "Reminders" | |
set todo_accounts to every account | |
-- accounts have lists. loop thru accounts to get their lists. | |
repeat with i from 1 to length of todo_accounts | |
tell account i | |
set todo_lists to get every list | |
-- lists have reminders. loop thru lists to get their reminders | |
repeat with j from 1 to length of todo_lists | |
tell list j | |
set todos to (get reminders) | |
-- if there are no reminders for a list, then ignore the list | |
if length of todos is greater than 0 then | |
-- Write out the name of the list | |
do shell script "echo " & (quoted form of (get name)) & " >> ~/Desktop/todos.txt" | |
-- loop thru the reminders to get properties | |
repeat with k from 1 to length of todos | |
set this_todo to item k of todos | |
do shell script "echo [ ] " & (quoted form of (get name of this_todo)) & " >> ~/Desktop/todos.txt" | |
end repeat | |
end if | |
end tell | |
end repeat | |
end tell | |
end repeat | |
end tell |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
It still works (10.13.2) but takes several of second per entry in the Reminder list to execute!
I found a solution that is more than an order of magnitude faster but gives up writing the file from the AppleScript. It is based on the following concept
`
`
Packaging the above script inside an AppleScript (say MyScript) and then calling it from the command line by
$> MyScript >~/Desktop/todos.txt
works and it is very fast. Disclaimer: I am a total beginner of AppleScript (so much a beginner that I won't use it again ;-))