On this page
38.2. aetools-OSAClient 端支持
aetools模块包含构建 Python AppleScriptClient 端支持的基本Function。它还导入并重新导出aetypes和aepack模块的核心Function。 gensuitemodule生成的存根软件包将导入aetools的相关部分,因此通常您不需要自己导入它。唯一的 exception 是当您无法使用生成的套件包并且需要较低级别的脚本访问权限时。
aetools模块本身使用Carbon.AE模块提供的 AppleEvent 支持。这有一个缺点:您需要访问窗口 Management 器,有关详细信息,请参见使用 GUI 运行脚本部分。在将来的版本中可能会取消此限制。
Note
该模块已在 Python 3.x 中删除。
aetools模块定义以下Function:
aetools.
packevent
(* ae , parameters , attributes *)- 将参数和属性存储在预先创建的
Carbon.AE.AEDesc
对象中。parameters
和attributes
是将 4 个字符的 OSA 参数键 Map 到 Python 对象的字典。使用aepack.pack()
打包对象。
- 将参数和属性存储在预先创建的
aetools.
unpackevent
(* ae * [,* formodulename *])- 以递归方式将
Carbon.AE.AEDesc
事件解压缩到 Python 对象。该函数返回参数字典和属性字典。生成的存根包使用formodulename
参数来控制在哪里查找 AppleScript 类。
- 以递归方式将
aetools.
keysubst
(* arguments , keydict *)- 根据
keydict
中指定的 Map,pass用四个字符的 OSA 密钥替换 Python 标识符的密钥,从而将 Python 关键字参数字典arguments
转换为packevent
所需的格式。由生成的套件软件包使用。
- 根据
aetools.
enumsubst
(* arguments , key , edict *)- 如果
arguments
词典包含key
的条目,则根据词典edict
转换该条目的值。这会将人类可读的 Python 枚举名称转换为 OSA 4 个字符的代码。由生成的套件软件包使用。
- 如果
aetools模块定义以下类:
-
- class *
aetools.
TalkTo
([* signature = None , start = 0 , timeout = 0 *])
- 用于与应用程序对话的代理的 Base Class。
signature
覆盖类属性_signature
(通常由子类设置),并且是 4 个字符的创建者代码,用于定义要与之交谈的应用程序。可以将start
设置为 true 以启用在类实例化上运行应用程序。可以指定timeout
来更改 awaitAppleEvent 答复时使用的默认超时。
- class *
TalkTo.
_start
( )- 测试应用程序是否正在运行,如果没有运行,请try启动它。
TalkTo.
send
(* code , subcode * [,* parameters , attributes *])- 为带有 OSA 名称
code, subcode
的动词创建 AppleEventCarbon.AE.AEDesc
(通常是 4 个字符的字符串),将parameters
和attributes
打包到其中,将其发送到目标应用程序,await 答复,用unpackevent
解压缩答复并返回回复 appleevent,解压后的返回值(作为字典)和返回属性。
- 为带有 OSA 名称