Перевести AppleScript в приложение Python (`do javascript`)
Это шаблон 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-приложение. К сожалению, я не могу понять, как перевести do javascript
, Есть идеи?
Я даже не знаю, как это выяснить. Может быть, я слишком мало знаю AppleScript. Является do
ключевое слово? Или это команда, которую я посылаю в приложение? Является javascript
параметр do
? Или делает do javascript
принадлежать друг другу (как команда с пробелом)?
2 ответа
Перевести родовой AppleScript
в appscript
, использовать ASTranslate
инструмент доступен из appscript
веб-сайт здесь. Он не всегда может успешно выполнить перевод из-за излишеств и ошибок в определениях сценариев некоторых приложений, но это хорошее место для начала.
Я до сих пор точно не знаю, как перевести вышеперечисленное (и в целом: я не знаю, как перевести какой-либо универсальный код AppleScript в скрипт Python).
Однако для приведенного выше случая я обнаружил, что есть команда 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)