01
     ˆÈÇƒn5Æ¾Ä 
    
: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.

     ˆÈÇƒdO¹Æ¾Ä à    :mod:`pyclbr` --- Python class browser support
==============================================

.. module:: pyclbr
   :synopsis: Supports information extraction for a Python class browser.
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>

**Source code:** :source:`Lib/pyclbr.py`

--------------

The :mod:`pyclbr` module can be used to determine some limited information
about the classes, methods and top-level functions defined in a module.  The
information provided is sufficient to implement a traditional three-pane
class browser.  The information is extracted from the source code rather
than by importing the module, so this module is safe to use with untrusted
code.  This restriction makes it impossible to use this module with modules
not implemented in Python, including all standard and optional extension
modules.


.. function:: readmodule(module, path=None)

   Read a module and return a dictionary mapping class names to class
   descriptor objects.  The parameter *module* should be the name of a
   module as a string; it may be the name of a module within a package.  The
   *path* parameter should be a sequence, and is used to augment the value
   of ``sys.path``, which is used to locate module source code.


.. function:: readmodule_ex(module, path=None)

   Like :func:`readmodule`, but the returned dictionary, in addition to
   mapping class names to class descriptor objects, also maps top-level
   function names to function descript