~dkuhlman/python-training-materials/Materials

« back to all changes in this revision

Viewing changes to python-2.7.11-docs-html/_sources/library/miniaeframe.txt

  • Committer: Dave Kuhlman
  • Date: 2017-04-15 16:24:56 UTC
  • Revision ID: dkuhlman@davekuhlman.org-20170415162456-iav9vozzg4iwqwv3
Updated docs

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
:mod:`MiniAEFrame` --- Open Scripting Architecture server support
3
 
=================================================================
4
 
 
5
 
.. module:: MiniAEFrame
6
 
   :platform: Mac
7
 
   :synopsis: Support to act as an Open Scripting Architecture (OSA) server ("Apple Events").
8
 
 
9
 
 
10
 
.. index::
11
 
   single: Open Scripting Architecture
12
 
   single: AppleEvents
13
 
   module: FrameWork
14
 
 
15
 
The module :mod:`MiniAEFrame` provides a framework for an application that can
16
 
function as an Open Scripting Architecture  (OSA) server, i.e. receive and
17
 
process AppleEvents. It can be used in conjunction with :mod:`FrameWork` or
18
 
standalone. As an example, it is used in :program:`PythonCGISlave`.
19
 
 
20
 
The :mod:`MiniAEFrame` module defines the following classes:
21
 
 
22
 
 
23
 
.. class:: AEServer()
24
 
 
25
 
   A class that handles AppleEvent dispatch. Your application should subclass this
26
 
   class together with either :class:`MiniApplication` or
27
 
   :class:`FrameWork.Application`. Your :meth:`__init__` method should call the
28
 
   :meth:`__init__` method for both classes.
29
 
 
30
 
 
31
 
.. class:: MiniApplication()
32
 
 
33
 
   A class that is more or less compatible with :class:`FrameWork.Application` but
34
 
   with less functionality. Its event loop supports the apple menu, command-dot and
35
 
   AppleEvents; other events are passed on to the Python interpreter and/or Sioux.
36
 
   Useful if your application wants to use :class:`AEServer` but does not provide
37
 
   its own windows, etc.
38
 
 
39
 
 
40
 
.. _aeserver-objects:
41
 
 
42
 
AEServer Objects
43
 
----------------
44
 
 
45
 
 
46
 
.. method:: AEServer.installaehandler(classe, type, callback)
47
 
 
48
 
   Installs an AppleEvent handler. *classe* and *type* are the four-character OSA
49
 
   Class and Type designators, ``'****'`` wildcards are allowed. When a matching
50
 
   AppleEvent is received the parameters are decoded and your callback is invoked.
51
 
 
52
 
 
53
 
.. method:: AEServer.callback(_object, **kwargs)
54
 
 
55
 
   Your callback is called with the OSA Direct Object as first positional
56
 
   parameter. The other parameters are passed as keyword arguments, with the
57
 
   4-character designator as name. Three extra keyword parameters are passed:
58
 
   ``_class`` and ``_type`` are the Class and Type designators and ``_attributes``
59
 
   is a dictionary with the AppleEvent attributes.
60
 
 
61
 
   The return value of your method is packed with :func:`aetools.packevent` and
62
 
   sent as reply.
63
 
 
64
 
Note that there are some serious problems with the current design. AppleEvents
65
 
which have non-identifier 4-character designators for arguments are not
66
 
implementable, and it is not possible to return an error to the originator. This
67
 
will be addressed in a future release.
68