On this page
38.1. gensuitemodule —生成 OSA 存根软件包
gensuitemodule模块根据其 AppleScript 字典创建一个 Python 包,以实现由特定应用程序实现的 AppleScript 套件的存根代码。
通常,它是由用户pass PythonIDE 调用的,但是它也可以作为脚本从命令行运行(pass--help获得选项帮助)或从 Python 代码导入。有关其用法的示例,请参见源代码分发中的Mac/scripts/genallsuites.py
,该代码生成标准库中包含的存根软件包。
它定义了以下公共Function:
gensuitemodule.
is_scriptable
(* application *)- 如果应将
application
作为路径名传递,则返回 true 可以编写脚本。带着一滴盐就可以得出返回值: Internet Explorer 似乎不是可编写脚本的,但绝对可以。
- 如果应将
gensuitemodule.
processfile
(* application * [,* output , basepkgname , edit_modnames , creatorsignature , dump , verbose *])- 为
application
创建一个存根包,该存根包应作为完整路径名传递。对于.app
Binding 包,这是 Binding 包的路径名,而不是 Binding 包内的可执行文件的路径名;对于非 Binding 的 CFM 应用程序,您传递应用程序二进制文件的文件名。
- 为
该函数向应用程序询问其 OSA 术语资源,对这些资源进行解码,然后使用所得数据为实现 Client 端存根的程序包创建 Python 代码。
output
是存储结果包的路径名,如果未指定,则向用户显示标准的“另存为”对话框。 basepkgname
是将在其上构建的基础软件包,默认为StdSuites
。仅当生成StdSuites
本身时,才需要指定它。 edit_modnames
是字典,可用于更改名称修改后过于难看的模块名称。 creator_signature
可用于覆盖 4 个字符的创建者代码,该代码通常是从包中的PkgInfo
文件或 CFM 文件创建者签名中获得的。给定dump
时,它应引用文件对象,并且processfile
将在解码资源并将其资源的 Python 表示形式转储到此文件后停止。 verbose
也应该是文件对象,指定它会导致processfile
告诉您它在做什么。
gensuitemodule.
processfile_fromresource
(* application * [,* output , basepkgname , edit_modnames , creatorsignature , dump , verbose *])- 此函数与
processfile
相同,只是它使用不同的方法来获取术语资源。它打开application
作为资源文件,并从该文件中读取所有"aete"
和"aeut"
资源。
- 此函数与