Как получить скриптом список плагинов?

Статус
Закрыто для дальнейших ответов.

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Mac OS, applescript, InDesign CS4.
В работе на некоторых компьютерах используется плагин, написанный, мягко говоря, коряво. В числе корявостей - перекрытое поле file path у объекта item link. Вместо него подсунуто новое поле.
Задача в том, чтобы в скрипте определить наличие плагина и при необходимости заменить стандартные обращения на новые.

Вариант javascript тоже подойдет, главное определиться где копать.
 

Strizh

15 лет на форуме
Сообщения
982
Реакции
92
Ответ: Как получить скриптом список плагинов?

В числе корявостей - перекрытое поле file path у объекта item link. Вместо него подсунуто новое поле.
Какое поле?
Скриптом вряд ли получится получить список плагинов, но не сложно написать новый плагин, который такую информацию сможет вернуть.

PS. Что за плагин, если не секрет.
 

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Ответ: Как получить скриптом список плагинов?

Что-то плодить плагины нет желания.
Пока использую структуру try (стандартное обращение) on error (новое). Работает.

Борюсь с нашими программистами, чтобы не трогали задокументированные поля. Бесполезняк!
Жду когда у верстки возникнут проблемы со скриптами из поставки InDesign'а (например Label Graphics). Натравлю верстаков на программеров, пускай покрутятся.
 

Strizh

15 лет на форуме
Сообщения
982
Реакции
92
Ответ: Как получить скриптом список плагинов?

Ничего не понял! Они создали новое поле, при этом удалив старое?
 

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Ответ: Как получить скриптом список плагинов?

Не удалили, а используют под свои нужды.
 

Strizh

15 лет на форуме
Сообщения
982
Реакции
92
Ответ: Как получить скриптом список плагинов?

Пока использую структуру try (стандартное обращение) on error (новое). Работает.
Тогда не понятно почему в try блоке вылетает при стандартном обращении.
 

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Ответ: Как получить скриптом список плагинов?

Тогда не понятно почему в try блоке вылетает при стандартном обращении.
Извиняюсь, неправильно написал try (new) on error (standart).
 

tatarin

Черт нерусский
15 лет на форуме
Сообщения
641
Реакции
255
Ответ: Как получить скриптом список плагинов?

Как два байта переслать
Код:
tell application "Finder" to set tPluginList to name of every file of ((startup disk as string) & "Applications:Adobe InDesign CS4:Plug-Ins" as alias) as alias list
 

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Ответ: Как получить скриптом список плагинов?

Не совсем как 2 байта, но намека достаточно.
"Applications:Adobe InDesign CS4" заменю на автоопределение пути к индизайну (реалии непредсказуемы),
а в Plug-ins просто буду определять наличие заранее известного фолдера и файлов.
Спасибо!
P.S. Посыпаю пеплом голову, мог бы и сам догадаться!
 

apg_777

Топикстартер
15 лет на форуме
Сообщения
278
Реакции
81
Ответ: Как получить скриптом список плагинов?

Добавлю гадости.
Нет гарантии, что плагин активен! (можно и выключить)
А насчет правильного пути все просто:
tell application "Adobe InDesign CS4" to set IDpath to path to
и в переменной IDpath получаем alias пути к индизайну

P.S. Apple script тоже можно использовать. Ну неужели здесь никого нет, с кем можно пообщаться?
Ведь из фотошопа тоже нельзя вызвать applescript, но управлять им извне можно без проблем. Где пообщаться? И где пообщаться в межпрограммном управлении?
 

AirGraph

Участник
Сообщения
244
Реакции
21
Ответ: Как получить скриптом список плагинов?

В России - нигде. Я пытался найти форумы в России по Objective C, когда делал шлюз для скриптов MathType под Mac, - глухо, либо я такой тупой в поиске. ;-) Про AppleScript и вообще про программирование под Mac рекомендую идти в девелоперские конфы на apple.com. Там есть минус - они платные. Если межпрограммное управление ограничивается программами Adobe - то там все есть в BridgeTalk. Если нет - никаких проблем, добро пожаловать в Objective C! ;-)

AirGraph.
 
Статус
Закрыто для дальнейших ответов.