38.1. gensuitemodule — 生成 OSA 存根包 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/gensuitemodule
跳转至:导航、​搜索

38.1. gensuite模块 — 生成 OSA 存根包

gensuitemodule 模块创建了一个 Python 包,用于根据 AppleScript 字典为特定应用程序实现的 AppleScript 套件实现存根代码。

它通常由用户通过 PythonIDE 调用,但它也可以从命令行作为脚本运行(通过 --help 获取有关选项的帮助)或从蟒蛇代码。 有关其使用的示例,请参阅源代码分发中的 Mac/scripts/genallsuites.py,它生成包含在标准库中的存根包。

它定义了以下公共函数:

gensuitemodule.is_scriptable(application)
如果应该作为路径名传递的 application 似乎是可编写脚本的,则返回 true。 对返回值持保留态度:Internet Explorer 似乎不可编写脚本,但确实可以编写。
gensuitemodule.processfile(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])

application 创建一个存根包,它应该作为完整路径名传递。 对于 .app 包,这是包的路径名,而不是包内的可执行文件; 对于未捆绑的 CFM 应用程序,您传递应用程序二进制文件的文件名。

此函数向应用程序询问其 OSA 术语资源,对这些资源进行解码并使用结果数据为实现客户端存根的包创建 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" 资源。