Import Some Safari Tabs

Summary: Imports some of the tabs in the frontmost Safari window.
Requires: EagleFiler
Install Location: ~/Library/Scripts/Applications/Safari/
Last Modified: 2019-10-02


This script demonstrates several techniques:

You will need to enter the path to your library in the first line of the script, and your desired tags in the second line.

Installation Instructions · Download in Compiled Format · Download in Text Format


property _libraryPath : "/Users/mjt/Documents/C-Command/EagleFilerTest/EagleFilerTest.eflibrary"
property _tagNames : {"sample tag"}

on run
set _libraryFile to POSIX file _libraryPath
tell application "EagleFiler"
open _libraryFile
set _urls to my getURLs()
my importURLs(_urls)
end tell
end run

on getURLs()
set _urlsToImport to {}
tell application "Safari"
set _tabs to tabs of window 1
set _titles to {}
set _urls to {}
repeat with _tab in _tabs
copy _tab's name to end of _titles
copy _tab's URL to end of _urls
end repeat
set _titlesToImport to choose from list _titles with title "Import to EagleFiler" with prompt "Select the tabs to import:" default items _titles with multiple selections allowed
repeat with _i from 1 to count of _titles
set _title to item _i of _titles
if _titlesToImport contains _title then
copy item _i of _urls to end of _urlsToImport
end if
end repeat
end tell
return _urlsToImport
end getURLs

on importURLs(_urls)
tell application "EagleFiler"
tell library document 1
set _webArchive to "Web archive"
set _bookmark to "Bookmark"
set _both to "Web archive and Bookmark"
display dialog "Import using which formats?" buttons {_webArchive, _bookmark, _both} default button _both
set _button to button returned of the result
if {_webArchive, _both} contains _button then
import URLs _urls tag names _tagNames Web page format Web archive format
end if
if {_bookmark, _both} contains _button then
import URLs _urls tag names _tagNames Web page format bookmark format
end if
end tell
end tell
end importURLs