|
|
|
Macintosh Library Modules |
|
|
|
Availability: Macintosh.
The aepack module defines functions for converting (packing)
Python variables to AppleEvent descriptors and back (unpacking).
Within Python the AppleEvent descriptor is handled by Python objects
of built-in type AEDesc, defined in module Carbon.AE.
The aepack module defines the following functions:
-
Returns an AEDesc object containing a conversion of Python
value x. If forcetype is provided it specifies the descriptor
type of the result. Otherwise, a default mapping of Python types to
Apple Event descriptor types is used, as follows:
Python type |
descriptor type |
FSSpec |
typeFSS |
FSRef |
typeFSRef |
Alias |
typeAlias |
integer |
typeLong (32 bit integer) |
float |
typeFloat (64 bit floating point) |
string |
typeText |
unicode |
typeUnicodeText |
list |
typeAEList |
dictionary |
typeAERecord |
instance |
see below |
If x is a Python instance then this function attempts to call an
__aepack__() method. This method should return an
AEDesc object.
If the conversion x is not defined above, this function returns
the Python string representation of a value (the repr() function)
encoded as a text descriptor.
unpack( |
x[, formodulename]) |
-
x must be an object of type AEDesc. This function
returns a Python object representation of the data in the Apple
Event descriptor x. Simple AppleEvent data types (integer,
text, float) are returned as their obvious Python counterparts.
Apple Event lists are returned as Python lists, and the list
elements are recursively unpacked. Object references
(ex.
line 3 of document 1 ) are returned as instances of
aetypes.ObjectSpecifier, unless formodulename
is specified. AppleEvent descriptors with
descriptor type typeFSS are returned as FSSpec
objects. AppleEvent record descriptors are returned as Python
dictionaries, with 4-character string keys and elements recursively
unpacked.
The optional formodulename argument is used by the stub packages
generated by gensuitemodule, and ensures that the OSA classes
for object specifiers are looked up in the correct module. This ensures
that if, say, the Finder returns an object specifier for a window
you get an instance of Finder.Window and not a generic
aetypes.Window . The former knows about all the properties
and elements a window has in the Finder, while the latter knows
no such things.
Release 2.5.2, documentation updated on 21st February, 2008.
See About this document... for information on suggesting changes.
|