Save Source URLs From Your Evernote Items As A File

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

2 Responses to “Save Source URLs From Your Evernote Items As A File”

  1. Mike September 21, 2010 at 6:43 pm #

    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

    • Justin Lancy September 21, 2010 at 7:20 pm #

      Mike,

      Was an issue with the URL encoding… It’s sorted now — and thanks for catching that!