指定したAppleScript書類の内容を読み取って、URL文字列に変換するAppleScriptです。
Shane Stanleyによる「もうちょっと楽に書けるよ」というツッコミです。記述がシンプルになるのはいいことです。
もともと、オリジナルのScriptは10年以上昔に誰かが(Sal Soghoianあたり?)作ったもので、Cocoaの機能が利用できない時代に書かれたものでした。中途半端にCocoaの機能を利用していたので、そこを置き換えたかたちです。
AppleScript名:指定パスのAppleScript書類の内容をURL文字列化 v3 |
— Created 2018-03-28 by Takaaki Naganoya — Modified 2018-04-22 by Shane Stanley use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "OSAKit" use framework "AppKit" set asPath to choose file of type {"com.apple.applescript.script", "com.apple.applescript.script-bundle"} set contText to getContentsOfFile(asPath) of me set encText to makeEncodedScript(contText) of me set newLinkText to "applescript://com.apple.scripteditor?action=new&script=" & encText –> "applescript://com.apple.scripteditor?action=new&script=use%20AppleScript%20version%20%222%2E4%22%0D………" –指定AppleScriptファイルのソースコードを取得する(実行専用Scriptからは取得できない) — Original Created 2014-02-23 Shane Stanley on getContentsOfFile(anAlias as {alias, string}) set anHFSpath to anAlias as string set aURL to current application’s |NSURL|’s fileURLWithPath:(POSIX path of anHFSpath) set theScript to current application’s OSAScript’s alloc()’s initWithContentsOfURL:aURL |error|:(missing value) return theScript’s source() as text end getContentsOfFile on makeEncodedScript(contText) set aStr to current application’s NSString’s stringWithString:contText set encodedStr to aStr’s stringByAddingPercentEncodingWithAllowedCharacters:(current application’s NSCharacterSet’s URLQueryAllowedCharacterSet()) return encodedStr as text end makeEncodedScript |
More from my site
(Visited 45 times, 1 visits today)