38.2. aetools — OSA 客户端支持 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/aetools
38.2. 气动工具 — OSA 客户端支持
aetools 模块包含构建 Python AppleScript 客户端支持的基本功能。 它还导入和重新导出 aetypes 和 aepack 模块的核心功能。 gensuitemodule生成的stub包导入了aetools的相关部分,所以通常不需要自己导入。 例外情况是您无法使用生成的套件包并且需要对脚本进行较低级别的访问。
aetools 模块本身使用 Carbon.AE 模块提供的 AppleEvent 支持。 这有一个缺点:您需要访问窗口管理器,有关详细信息,请参阅 使用 GUI 运行脚本部分。 此限制可能会在未来版本中取消。
笔记
此模块已在 Python 3.x 中删除。
aetools 模块定义了以下函数:
- aetools.packevent(ae, parameters, attributes)
- 将参数和属性存储在预先创建的
Carbon.AE.AEDesc
对象中。parameters
和attributes
是将 4 个字符的 OSA 参数键映射到 Python 对象的字典。 对象使用aepack.pack()
打包。
- aetools.unpackevent(ae[, formodulename])
- 递归地将
Carbon.AE.AEDesc
事件解包到 Python 对象。 该函数返回参数字典和属性字典。 生成的存根包使用formodulename
参数来控制查找 AppleScript 类的位置。
- aetools.keysubst(arguments, keydict)
- 将 Python 关键字参数字典
arguments
转换为packevent
所需的格式,方法是根据 [ 中指定的映射,将作为 Python 标识符的键替换为四字符 OSA 键。 X218X]。 由生成的套件包使用。
- aetools.enumsubst(arguments, key, edict)
- 如果
arguments
字典包含key
的条目,则根据字典edict
转换该条目的值。 这会将人类可读的 Python 枚举名称转换为 OSA 4 字符代码。 由生成的套件包使用。
aetools 模块定义了以下类:
- class aetools.TalkTo([signature=None, start=0, timeout=0])
- 用于与应用程序通信的代理的基类。
signature
覆盖类属性_signature
(通常由子类设置)并且是定义要与之对话的应用程序的 4 字符创建者代码。start
可以设置为 true 以启用在类实例化上运行应用程序。 可以指定timeout
来更改等待 AppleEvent 回复时使用的默认超时。
- TalkTo._start()
- 测试应用程序是否正在运行,如果没有,则尝试启动它。
- TalkTo.send(code, subcode[, parameters, attributes])
- 为 OSA 名称为
code, subcode
(通常为 4 个字符的字符串)的动词创建 AppleEventCarbon.AE.AEDesc
,将parameters
和attributes
打包到其中,将其发送到目标应用程序,等待回复,用unpackevent
解压回复并返回回复appleevent,解压后的返回值作为字典和返回属性。