aetools
aetools - OSA客户端支持
该aetools
模块包含构建Python AppleScript客户端支持的基本功能。它还导入和重新导出aetypes
和aepack
模块的核心功能。通过gensuitemodule
导入相关部分生成的存根包aetools
,通常你不需要自己导入它。这是一个例外,当你不能使用生成的套件包并需要更低级别的脚本访问时。
该aetools
模块本身使用由提供的AppleEvent支持Carbon.AE
模块。这有一个缺点:您需要访问窗口管理器,请参阅使用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)
根据keydict中指定的映射,通过用四个字符的OSA键替换作为Python标识符的键,将Python关键字参数字典参数转换为packevent所需的格式。 由生成的套件软件包使用。
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指定代码,子代码(通常为4个字符的字符串)的动词创建AppleEvent Carbon.AE.AEDesc,将参数和属性打包,发送到目标应用程序,等待答复,解压 与unpackevent的回复并返回响应appleevent,解压后的返回值作为字典和返回属性。