38.2. aetools — OSA 客户端支持 — Python 文档

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

38.2. 气动工具 — OSA 客户端支持

aetools 模块包含构建 Python AppleScript 客户端支持的基本功能。 它还导入和重新导出 aetypesaepack 模块的核心功能。 gensuitemodule生成的stub包导入了aetools的相关部分,所以通常不需要自己导入。 例外情况是您无法使用生成的套件包并且需要对脚本进行较低级别的访问。

aetools 模块本身使用 Carbon.AE 模块提供的 AppleEvent 支持。 这有一个缺点:您需要访问窗口管理器,有关详细信息,请参阅 使用 GUI 运行脚本部分。 此限制可能会在未来版本中取消。

笔记

此模块已在 Python 3.x 中删除。


aetools 模块定义了以下函数:

aetools.packevent(ae, parameters, attributes)
将参数和属性存储在预先创建的 Carbon.AE.AEDesc 对象中。 parametersattributes 是将 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 个字符的字符串)的动词创建 AppleEvent Carbon.AE.AEDesc,将 parametersattributes 打包到其中,将其发送到目标应用程序,等待回复,用unpackevent解压回复并返回回复appleevent,解压后的返回值作为字典和返回属性。