Mac workflow: Open source URL service

erre. Ahogy töltögettem le Karácsony előtt a sok printelni való STL file-t a Thingiverse-ről, egyre többször jött elő, hogy meg kellene újra néznem valamit az STL file-t tartalmazó oldalon újra. Szerencsére OS X alatt a kMDItemWhereFroms metadata attribútumba bekerül a letöltés URL-je, amit én néha meg-meg néztem már korábban is egy vérbuta shell scripttel, ami nálam eddig így nézett ki:

#!/bin/sh
mdls -name kMDItemWhereFroms -raw "$*"
Ez egy zárójelek közé zárt comma delimited URL listát ad vissza. Nekem ebből az URL listából az utolsó kellene (a Thingiverse Amazon S3 storage-et használ, az első URL a storage-ra mutat, míg a második az eredeti Thingiverse oldalra), mégpedig minél kevesebb szüttyögéssel, azaz monjduk egy Service formájában. Némi rövid googling után dobta a gép a közel konyhakész scriptet a MacScripter oldaláról, már csak hozzá kellett ragasztani az Automator Service script számára szükséges paraméterátvételt és kész is:
property getSpecific : false -- show the specific download URL?
on run {input, parameters}
	set theFile to (input)
	set aFile to quoted form of POSIX path of theFile
	set theURL to (do shell script "mdls -name kMDItemWhereFroms -raw " & aFile)
	if theURL is "(null)" then -- no attribute
		set theURL to "(URL info not found)"
		set theMessage to ""
	else
		if getSpecific then -- get the first item (the download URL)
			set theURL to paragraph 2 of theURL
			set here to offset of "\"" in theURL
			set theURL to text (here + 1) thru -3 of theURL -- the download URL
			tell application "Finder"
				set name of theFile to theURL --I have no idea what im doing
			end tell
		else -- get the last item (the page/site URL)
			set theMessage to "page/site "
			set theURL to paragraph -2 of theURL
			set here to offset of "\"" in theURL
			set theURL to text (here + 1) thru -2 of theURL
		end if
		tell application "Safari"
			tell window 1
				set current tab to (make new tab with properties {URL:theURL})
			end tell
		end tell
	end if
	return input
end run
Ebből nagyjából két klikk az Automator workflow megalkotása, de ha ezzel bajban lennél, akkor
  • konyhakész service zippelt változata leszed innen
  • bemásol a ~/Library/Services/ folderbe, majd ott kicsomagol
]]>

1 thought on “Mac workflow: Open source URL service

  1. Pingback: Mac workflow: Open source URL, v2 « eFi.blog

Leave a Reply

Your email address will not be published.