cpython/Mac/Contrib/PythonScript
Jack Jansen 7cc5735ef2 Initial revision 1998-08-18 14:54:11 +00:00
..
PyScriptTest.py
PythonScript.py
ReadMe.txt
baepack.py
baetools.py
baetypes.py
getaete.py
printaete.py
testeudora.py

ReadMe.txt

PythonScript
------------
v0.5 beta 1 24/04/98

author: Bill Bedford, <billb@mousa.demon.co.uk>

This suite of modules is a first attempt at writing a more user friendly 
python/appleevent interface. The files in the suite are:

PythonScript
------------

Loads three dictionaries generated by getaete into __dict__'s of three 
classes and thus gives us direct assess to all the methods in the aete.  
Each method now contains all the information needed to build apple events.

The general usage is

>>>PythonScript.PsScript(SIGNATURE, TIMEOUT, IGNORING) 

where 
SIGNATURE is the target application
TIMEOUT is in ticks
and IGNORING is a boolean and determines whether the script waits for a reply 
from the target before going on to the next event 

>>>PythonScript.PyScript(Event, Object, keywdarg1..., keywdarg2...etc)

Object is a appleevent object specifier and is of the form

PythonScript.PsClass.Class1(arg).Class2(arg)Š.Property()

All applescript event, class and property names are capitalised to 
distinguish them from python methods.

getaete
-------

Reads the aete of the target application and returns it as a list of three 
dictionaries, which represent all the events, properties and enumeration in 
the aete.  (the fourth dictionary, comparisons, has never been implemented 
in applescript so I have not used it) It also reads the applescript aeut 
and adds any suites that are missing (ie where the application author has 
set his suite to inherit from the aeut.)  and the applescript suite, which 
gives the language methods

printaete
---------

Produces a text file with the aete set out in a human readable form, 
similar to the Open Dictionary command in the applescript editor.


baetools, baepack, baetypes
---------------------------

These are direct equivalents of aetools, aepack, aetypes in the standard 
distribution.  Some methods and classes have been enhanced others are 
redundant

PyScriptTest, testeudora
------------------------

A couple of test scripts.  Testeudora is an updated version of the one in 
the standard distribution.
	 
	 
	 
	 
	 
Still To Do (in no particular order)
-----------

These modules are much slower than applescript.  I believe they could be 
made faster by rewriting the aete parser in getaete and/or by putting in 
some form of persistent storage so that the class dictionaries can be cached.
	 
The parsing of the appleevent replies need rewriting.

Support for the use of scripting additions.

A Python aeut needs to be written, much of the applescript one is redundant 
in python.

Probably a few other things I haven't thought of yet.