gensuitemodule.md
1> **Источник:** https://python-all.ru/2.7/library/gensuitemodule.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 38.1. [`gensuitemodule`](https://python-all.ru/2.7/library/gensuitemodule.html#module-gensuitemodule) – Генерация пакетов-заглушек OSA89Модуль [`gensuitemodule`](https://python-all.ru/2.7/library/gensuitemodule.html#module-gensuitemodule) создаёт пакет Python, реализующий код-заглушку для наборов AppleScript, реализованных в конкретном приложении, в соответствии с его словарём AppleScript.1011Обычно он вызывается пользователем через **PythonIDE**, но также может быть запущен как скрипт из командной строки (передайте [`--help`](https://python-all.ru/2.7/using/cmdline.html#cmdoption-help) для справки по параметрам) или импортирован из кода Python. Пример использования см. в `Mac/scripts/genallsuites.py` в дистрибутиве исходных кодов, который генерирует пакеты-заглушки, входящие в стандартную библиотеку.1213Он определяет следующие открытые функции:1415#### `gensuitemodule.is_scriptable(application)`1617Возвращает true, если `application` (передаётся как путь к файлу) предположительно является скриптуемым. К возвращаемому значению стоит относиться с осторожностью: **Internet Explorer** не считается скриптуемым, но на самом деле это так.1819#### `gensuitemodule.processfile(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])`2021Создаёт пакет-заглушку для `application`, который должен быть передан как полный путь. Для пакета `.app` это путь к самому пакету, а не к исполняемому файлу внутри него; для приложения CFM без пакета передаётся имя файла двоичного кода приложения.2223Эта функция запрашивает у приложения его ресурсы терминологии OSA, декодирует эти ресурсы и использует полученные данные для создания кода Python для пакета, реализующего клиентские заглушки.2425`output` – это путь, по которому сохраняется результирующий пакет; если он не указан, пользователю отображается стандартный диалог «Сохранить файл как». `basepkgname` – это базовый пакет, на основе которого будет строиться данный пакет; по умолчанию равен `StdSuites`. Указывать его нужно только при генерации самого `StdSuites`. `edit_modnames` – это словарь, который можно использовать для изменения имён модулей, слишком некрасивых после name mangling. `creator_signature` используется для переопределения 4-символьного кода создателя, который обычно берётся из файла `PkgInfo` в пакете или из сигнатуры создателя файла CFM. Если указан `dump`, он должен ссылаться на файловый объект; `processfile` остановится после декодирования ресурсов и выгрузит Python-представление терминологических ресурсов в этот файл. `verbose` также должен быть файловым объектом; его указание заставит `processfile` сообщать о своих действиях.2627#### `gensuitemodule.processfile_fromresource(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])`2829Эта функция делает то же самое, что и `processfile`, но использует другой способ получения ресурсов терминологии. Она открывает `application` как файл ресурсов и читает из этого файла все ресурсы `"aete"` и `"aeut"`.30