mirror of https://github.com/python/cpython
69 lines
2.5 KiB
ReStructuredText
69 lines
2.5 KiB
ReStructuredText
|
|
:mod:`MiniAEFrame` --- Open Scripting Architecture server support
|
|
=================================================================
|
|
|
|
.. module:: MiniAEFrame
|
|
:platform: Mac
|
|
:synopsis: Support to act as an Open Scripting Architecture (OSA) server ("Apple Events").
|
|
|
|
|
|
.. index::
|
|
single: Open Scripting Architecture
|
|
single: AppleEvents
|
|
module: FrameWork
|
|
|
|
The module :mod:`MiniAEFrame` provides a framework for an application that can
|
|
function as an Open Scripting Architecture (OSA) server, i.e. receive and
|
|
process AppleEvents. It can be used in conjunction with :mod:`FrameWork` or
|
|
standalone. As an example, it is used in :program:`PythonCGISlave`.
|
|
|
|
The :mod:`MiniAEFrame` module defines the following classes:
|
|
|
|
|
|
.. class:: AEServer()
|
|
|
|
A class that handles AppleEvent dispatch. Your application should subclass this
|
|
class together with either :class:`MiniApplication` or
|
|
:class:`FrameWork.Application`. Your :meth:`__init__` method should call the
|
|
:meth:`__init__` method for both classes.
|
|
|
|
|
|
.. class:: MiniApplication()
|
|
|
|
A class that is more or less compatible with :class:`FrameWork.Application` but
|
|
with less functionality. Its event loop supports the apple menu, command-dot and
|
|
AppleEvents; other events are passed on to the Python interpreter and/or Sioux.
|
|
Useful if your application wants to use :class:`AEServer` but does not provide
|
|
its own windows, etc.
|
|
|
|
|
|
.. _aeserver-objects:
|
|
|
|
AEServer Objects
|
|
----------------
|
|
|
|
|
|
.. method:: AEServer.installaehandler(classe, type, callback)
|
|
|
|
Installs an AppleEvent handler. *classe* and *type* are the four-character OSA
|
|
Class and Type designators, ``'****'`` wildcards are allowed. When a matching
|
|
AppleEvent is received the parameters are decoded and your callback is invoked.
|
|
|
|
|
|
.. method:: AEServer.callback(_object, **kwargs)
|
|
|
|
Your callback is called with the OSA Direct Object as first positional
|
|
parameter. The other parameters are passed as keyword arguments, with the
|
|
4-character designator as name. Three extra keyword parameters are passed:
|
|
``_class`` and ``_type`` are the Class and Type designators and ``_attributes``
|
|
is a dictionary with the AppleEvent attributes.
|
|
|
|
The return value of your method is packed with :func:`aetools.packevent` and
|
|
sent as reply.
|
|
|
|
Note that there are some serious problems with the current design. AppleEvents
|
|
which have non-identifier 4-character designators for arguments are not
|
|
implementable, and it is not possible to return an error to the originator. This
|
|
will be addressed in a future release.
|
|
|