summaryrefslogtreecommitdiffstats
path: root/Doc/mac/libaepack.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/mac/libaepack.tex')
-rw-r--r--Doc/mac/libaepack.tex73
1 files changed, 73 insertions, 0 deletions
diff --git a/Doc/mac/libaepack.tex b/Doc/mac/libaepack.tex
new file mode 100644
index 0000000..2dfee0b
--- /dev/null
+++ b/Doc/mac/libaepack.tex
@@ -0,0 +1,73 @@
+\section{\module{aepack} ---
+ Conversion between Python variables and AppleEvent data containers}
+
+\declaremodule{standard}{aepack}
+ \platform{Mac}
+%\moduleauthor{Jack Jansen?}{email}
+\modulesynopsis{Conversion between Python variables and AppleEvent
+ data containers.}
+\sectionauthor{Vincent Marchetti}{vincem@en.com}
+
+
+The \module{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 \pytype{AEDesc}, defined in module \refmodule{AE}.
+
+The \module{aepack} module defines the following functions:
+
+
+\begin{funcdesc}{pack}{x\optional{, forcetype}}
+Returns an \class{AEDesc} object containing a conversion of Python
+value x. If \var{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:
+
+\begin{tableii}{l|l}{textrm}{Python type}{descriptor type}
+ \lineii{\class{FSSpec}}{typeFSS}
+ \lineii{\class{Alias}}{typeAlias}
+ \lineii{integer}{typeLong (32 bit integer)}
+ \lineii{float}{typeFloat (64 bit floating point)}
+ \lineii{string}{typeText}
+ \lineii{list}{typeAEList}
+ \lineii{dictionary}{typeAERecord}
+ \lineii{instance}{\emph{see below}}
+\end{tableii}
+
+\pytype{FSSpec} and \pytype{Alias} are built-in object types defined
+in the module \refmodule{macfs}.
+
+If \var{x} is a Python instance then this function attempts to call an
+\method{__aepack__()} method. This method should return an
+\pytype{AE.AEDesc} object.
+
+If the conversion \var{x} is not defined above, this function returns
+the Python string representation of a value (the repr() function)
+encoded as a text descriptor.
+\end{funcdesc}
+
+\begin{funcdesc}{unpack}{x}
+ \var{x} must be an object of type \class{AEDesc}. This function
+ returns a Python object representation of the data in the Apple
+ Event descriptor \var{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. \code{line 3 of document 1}) are returned as instances of
+ \class{aetypes.ObjectSpecifier}. AppleEvent descriptors with
+ descriptor type typeFSS are returned as \class{FSSpec}
+ objects. AppleEvent record descriptors are returned as Python
+ dictionaries, with keys of type \class{?} and elements recursively
+ unpacked.
+\end{funcdesc}
+
+
+\begin{seealso}
+ \seemodule{AE}{Built-in access to Apple Event Manager routines.}
+ \seemodule{aetypes}{Python definitions of codes for Apple Event
+ descriptor types.}
+ \seetitle[http://developer.apple.com/techpubs/mac/IAC/IAC-2.html]{
+ Inside Macintosh: Interapplication
+ Communication}{Information about inter-process
+ communications on the Macintosh.}
+\end{seealso}