这是AppleScript模板:
tell application "Adobe Photoshop CS5"
set theFile to alias “Application:Documents:MyFile” open theFile
do javascript (file <path to Emboss.jsx>) with arguments { 75,2,89 }
end tell
我想将其转换为Python appscript。不幸的是,我无法弄清楚如何翻译do javascript
。有什么想法吗?
我甚至不知道如何找到它。也许我对AppleScript了解得太少了。 do
是关键字吗?或者它是我发送给应用程序的命令? javascript
是do
的参数吗?或者do javascript
是否属于一起(作为带空格的命令)?
答案 0 :(得分:1)
我仍然不知道如何翻译上述内容(更一般地说:我不知道如何将任何通用AppleScript代码翻译成Python appscript。)
但是,对于上述情况,我发现有do_javascript
命令。它似乎不执行文件,而是直接执行给定的JS代码字符串。
,例如,这有效:
from appscript import *
import os, sys
ps = app("Adobe Photoshop CS5")
filelist = sys.argv[1:]
jsCode = """
var g_StackScriptFolderPath = app.path + "/Presets/Scripts/"
var runMergeToHDRFromScript = true;
$.evalFile(g_StackScriptFolderPath + "Merge to HDR.jsx");
mergeToHDR.mergeFilesToHDR(%s, true);
""" % (repr(filelist),)
ps.do_javascript(jsCode)
答案 1 :(得分:1)
要将通用AppleScript
转换为appscript
,请使用ASTranslate
网站here中提供的appscript
工具。由于某些应用程序的脚本定义中的怪癖和错误,它并不总是能够成功翻译,但它是一个很好的起点。