Может ли программа, написанная на Python, AppleScript?
Я хочу, чтобы моя программа Python была способна AppleScript, как и программа Objective C. Это возможно?
(Обратите внимание, что речь идет не о запуске AppleScript из программ Python, ни о вызове программ Python из AppleScript через вызов программы Unix. Это просто. Мне нужна подлинная AppleScriptability для работы моей программы.)
Существует некоторая документация о том, как это сделать. Документация Python 2.7.2 описывает, например, MiniAEFrame, но даже минимальную ссылку на from MiniAEFrame import AEServer, MiniApplication
умирает с ImportError
и жалоба на то, что подходящее изображение не может быть найдено / моя архитектура (x86) не поддерживается. Рут ро! Кажется, что MiniAEFrame может относиться к ранее установленному («углеродному») набору API. Другими словами, устарели.
Есть очень хорошая статья о «Использование PyObjC для разработки приложений для какао с помощью Python» (http://developer.apple.com/cocoa/pyobjc.html). Кроме того, что он был написан в 2005 году; моя недавно обновленная версия Xcode (4.1) не имеет ни одного из параметров, которые она описывает; файлы проекта Xcode, которые он обеспечивает, взорвали внушительный сбой сборки; и последнее обновление PyObjC, похоже, было сделано 2 года назад. Apple, похоже, удалила все функции, которые позволяют создавать «настоящие» приложения в AppleScript или Python, оставив только Objective C.
Итак, каковы мои варианты? Возможно ли построить реальное приложение AppleScriptable Mac с помощью Python? Если да, то как?
(Если это имеет значение, то, что мне нужно AppleScript, – это вставка текста. Мне нужен Dire Dicate, чтобы иметь возможность добавлять текст в мое приложение. В настоящее время я использую Tk в качестве интерфейса UI, но буду рад использовать собственные API Cocoa / Xcode / tools вместо этого, если это поможет.)
- Запустить несколько процессов приложения на mac osx
- Может ли Python использоваться для отправки истинного события нажатия клавиш на Mac
- «Не разрешено взаимодействие с пользователем» При запуске AppleScript в python
- Получить список всех ярлыков из другого приложения
PyObjC по-прежнему поддерживается в Lion, он больше не поддерживается в Xcode 4. И хотя PyObjC 2.2 официально не обновлялся с 2009 года, он все еще разрабатывается – Apple выпустила версию 2.3.2a0 с Lion.
$ python Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import objc >>> objc.__version__ '2.3.2a0' >>>
Фактически, этот тег не может быть найден в SVN PyObjC, поэтому Apple может разветвить проект.
Таким образом, вы сможете создать приложение Cocoa и реализовать AppleScriptability, поместив этот пример в PyObjC:
Вы также можете использовать модуль py-aemreceive из py-appscript. Я использую это для реализации поддержки AppleScript в своем приложении Tkinter.
- Регулярное выражение Python – разница между поиском и найти все
- моделирование пользовательских настроек в django