Send to Evernote on Mac OS X
11 May 2010Being able to add files into Evernote is a particularly useful feature. On my Windows PC I have an option when I right click on a file to send it to Evernote. By default my Evernote installation on my Mac doesn’t provide this option, so I decided to address this shortcoming with a service.
Automator allows you to create new services and these can form the basis for context sensitive options. I set about writing an AppleScript that would take selected files and import them into Evernote. The script below is what I came up with.
on run {input}
tell application "Evernote"
repeat with SelectedFile in input
try
create note from file SelectedFile notebook "Auto Import"
on error errMessage number errNumber
if the errNumber is equal to 4 then
-- The file being imported is not supported
set userCanceled to false
try
display dialog "Your Evernote account does not support the import of this type of file. Why not consider upgrading?" buttons {"Cancel", "Go Premium"} default button "Cancel" cancel button "Cancel" with icon caution
on error number -128
set userCanceled to true
end try
-- If the user wishes they can be taken to the Evernote premium upgrade page
if userCanceled is false then
tell application "Safari"
activate
open location "https://www.evernote.com/Checkout.action"
end tell
end if
else
-- Unspecified failure
display alert "Import into Evernote failed" message "Error(" & errNumber & "): " & errMessage as warning
end if
end try
end repeat
end tell
end run
The script includes some error handling. One specific error I’ve pulled out is for error number 4 - which is flagged up by Evernote when a file being imported is not permissible by the account type (i.e. you’re a freemium user with trying to import an unsupported file type). Originally I targeted looking at file sizes in Finder before passing them to Evernote as freemium and premium have two different file size limits. However when Evernote receives a request to create a note from a large file that is not supported by the freemium account it gives an option for the user to upgrade. Oddly Evernote didn’t seem to do this for unsupported files so I decided to include this in the script. Non-specific errors are also relayed to the user through a dialog displaying the standard error message and number.
To make this a service, follow these steps:
- Open Automator and create a new service.
- Add the “Run AppleScript” action.
- Copy the script above into the new action.
- Set the service to receive selected “files or folders” (option located just above the action).
- Save the service with a suitable name.
Open Finder then locate one or more files to import into Evernote. Right click to display the context menu and select the name of your service. This should then begin the process of creating a note for each file in Evernote.