The aetools module contains the basic functionality
on which Python AppleScript client support is built. It also
imports and re-exports the core functionality of the
aetypes and aepack modules. The stub packages
generated by gensuitemodule import the relevant
portions of aetools, so usually you do not need to
import it yourself. The exception to this is when you
cannot use a generated suite package and need lower-level
access to scripting.
The aetools module itself uses the AppleEvent support
provided by the Carbon.AE module. This has one drawback:
you need access to the window manager, see section 1.1.2
for details. This restriction may be lifted in future releases.
The aetools module defines the following functions:
packevent(
ae, parameters, attributes)
Stores parameters and attributes in a pre-created Carbon.AE.AEDesc
object. parameters and attributes are
dictionaries mapping 4-character OSA parameter keys to Python objects. The
objects are packed using aepack.pack().
unpackevent(
ae[, formodulename])
Recursively unpacks a Carbon.AE.AEDesc event to Python objects.
The function returns the parameter dictionary and the attribute dictionary.
The formodulename argument is used by generated stub packages to
control where AppleScript classes are looked up.
keysubst(
arguments, keydict)
Converts a Python keyword argument dictionary arguments to
the format required by packevent by replacing the keys,
which are Python identifiers, by the four-character OSA keys according
to the mapping specified in keydict. Used by the generated suite
packages.
enumsubst(
arguments, key, edict)
If the arguments dictionary contains an entry for key
convert the value for that entry according to dictionary edict.
This converts human-readable Python enumeration names to the OSA 4-character
codes.
Used by the generated suite
packages.
The aetools module defines the following class:
classTalkTo(
[signature=None, start=0, timeout=0])
Base class for the proxy used to talk to an application. signature
overrides the class attribute _signature (which is usually set by subclasses)
and is the 4-char creator code defining the application to talk to.
start can be set to true to enable running the application on
class instantiation. timeout can be specified to change the
default timeout used while waiting for an AppleEvent reply.
_start(
)
Test whether the application is running, and attempt to start it if not.
send(
code, subcode[, parameters, attributes])
Create the AppleEvent Carbon.AE.AEDesc for the verb with
the OSA designation code, subcode (which are the usual 4-character
strings), pack the parameters and attributes into it, send it
to the target application, wait for the reply, unpack the reply with
unpackevent and return the reply appleevent, the unpacked return values
as a dictionary and the return attributes.