Description
The original post for this script is here. The script asks you to pick the Evernote notebook that you want to see the Source URL list for and, once selected, a window will open containing a list of URLs from all the notes within that notebook that have anything in the “Source URL” field. You can then cut-and-paste that list or, if you like, save it as a text file to a location of your choosing.The Code
(*
http://veritrope.com
Evernote URL List Exporter
Version 1.0
August 12, 2010
PROJECT PAGE:
http://veritrope.com/tips/save-a-list-of-urls-from-your-evernote-items-as-a-list
CHANGELOG:
1.00 INITIAL RELEASE
*)
(*MAIN PROGRAM *)
(*PREPARE A EVERNOTE'S LIST OF NOTEBOOKS *)
tell application "Evernote"
activate
set listOfNotebooks to {}
(*GET THE NOTEBOOK LIST *)
set EVNotebooks to every notebook
repeat with currentNotebook in EVNotebooks
set currentNotebookName to (the name of currentNotebook)
copy currentNotebookName to the end of listOfNotebooks
end repeat
(*SORT THE LIST *)
set Folders_sorted to my simple_sort(listOfNotebooks)
(*USER SELECTION FROM NOTEBOOK LIST *)
set SelNotebook to choose from list of Folders_sorted with title "Select Evernote Notebook" with prompt ¬
"Current Evernote Notebooks" OK button name "OK"
set EVnotebook to item 1 of SelNotebook
set listofNotes to {} (*PREPARE TO GET EVERNOTE'S LIST OF NOTES *)
set allNotes to every note in notebook EVnotebook
repeat with currentNote in allNotes
try
set currentNoteURL to (the source URL of currentNote)
if currentNoteURL is not missing value then
copy currentNoteURL to the end of listofNotes
end if
end try
end repeat
(*SORT THE LIST *)
set Notes_sorted to my simple_sort(listofNotes)
set SelNote to ¬
choose from list of Notes_sorted with title ¬
"List Of URLs In Notes" OK button name "Export List" cancel button name "Close Window" with empty selection allowed
(*EXPORT LIST OPTION *)
if (SelNote is not false) then
tell application "System Events"
-- convert list to text
set old_delim to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set Notes_sorted to Notes_sorted as text
set AppleScript's text item delimiters to old_delim
set ExportList to "Current List of URLs in Notes for " & EVnotebook & ":" & return & (current date) & return & return & Notes_sorted as Unicode text
set fn to choose file name with prompt "Name this file" default name "URL List for Notebook Named " & EVnotebook & ¬
".txt" default location (path to desktop folder)
set fid to open for access fn with write permission
write ExportList to fid
close access fid
end tell
else
set EVnotebook to item 1 of SelNotebook
end if
end tell
(* SUBROUTINES *)
--SORT SUBROUTINE
on simple_sort(my_list)
set the index_list to {}
set the sorted_list to {}
repeat (the number of items in my_list) times
set the low_item to ""
repeat with i from 1 to (number of items in my_list)
if i is not in the index_list then
set this_item to item i of my_list as text
if the low_item is "" then
set the low_item to this_item
set the low_item_index to i
else if this_item comes before the low_item then
set the low_item to this_item
set the low_item_index to i
end if
end if
end repeat
set the end of sorted_list to the low_item
set the end of the index_list to the low_item_index
end repeat
return the sorted_list
end simple_sort
http://veritrope.com
Evernote URL List Exporter
Version 1.0
August 12, 2010
PROJECT PAGE:
http://veritrope.com/tips/save-a-list-of-urls-from-your-evernote-items-as-a-list
CHANGELOG:
1.00 INITIAL RELEASE
*)
(*MAIN PROGRAM *)
(*PREPARE A EVERNOTE'S LIST OF NOTEBOOKS *)
tell application "Evernote"
activate
set listOfNotebooks to {}
(*GET THE NOTEBOOK LIST *)
set EVNotebooks to every notebook
repeat with currentNotebook in EVNotebooks
set currentNotebookName to (the name of currentNotebook)
copy currentNotebookName to the end of listOfNotebooks
end repeat
(*SORT THE LIST *)
set Folders_sorted to my simple_sort(listOfNotebooks)
(*USER SELECTION FROM NOTEBOOK LIST *)
set SelNotebook to choose from list of Folders_sorted with title "Select Evernote Notebook" with prompt ¬
"Current Evernote Notebooks" OK button name "OK"
set EVnotebook to item 1 of SelNotebook
set listofNotes to {} (*PREPARE TO GET EVERNOTE'S LIST OF NOTES *)
set allNotes to every note in notebook EVnotebook
repeat with currentNote in allNotes
try
set currentNoteURL to (the source URL of currentNote)
if currentNoteURL is not missing value then
copy currentNoteURL to the end of listofNotes
end if
end try
end repeat
(*SORT THE LIST *)
set Notes_sorted to my simple_sort(listofNotes)
set SelNote to ¬
choose from list of Notes_sorted with title ¬
"List Of URLs In Notes" OK button name "Export List" cancel button name "Close Window" with empty selection allowed
(*EXPORT LIST OPTION *)
if (SelNote is not false) then
tell application "System Events"
-- convert list to text
set old_delim to AppleScript's text item delimiters
set AppleScript's text item delimiters to return
set Notes_sorted to Notes_sorted as text
set AppleScript's text item delimiters to old_delim
set ExportList to "Current List of URLs in Notes for " & EVnotebook & ":" & return & (current date) & return & return & Notes_sorted as Unicode text
set fn to choose file name with prompt "Name this file" default name "URL List for Notebook Named " & EVnotebook & ¬
".txt" default location (path to desktop folder)
set fid to open for access fn with write permission
write ExportList to fid
close access fid
end tell
else
set EVnotebook to item 1 of SelNotebook
end if
end tell
(* SUBROUTINES *)
--SORT SUBROUTINE
on simple_sort(my_list)
set the index_list to {}
set the sorted_list to {}
repeat (the number of items in my_list) times
set the low_item to ""
repeat with i from 1 to (number of items in my_list)
if i is not in the index_list then
set this_item to item i of my_list as text
if the low_item is "" then
set the low_item to this_item
set the low_item_index to i
else if this_item comes before the low_item then
set the low_item to this_item
set the low_item_index to i
end if
end if
end repeat
set the end of sorted_list to the low_item
set the end of the index_list to the low_item_index
end repeat
return the sorted_list
end simple_sort
Just a quick note that the listing has “&” in a number of places in the Export List Option – in actual text for AppleScript editor they should be simply “&”.
Mike
Mike,
Was an issue with the URL encoding… It’s sorted now — and thanks for catching that!