38.1. gensuitemodule — 生成 OSA 存根包 — Python 文档
来自菜鸟教程
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"
资源。