| 
									
										
										
										
											1998-08-18 14:54:11 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 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 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2001-05-17 12:45:13 +00:00
										 |  |  |  | PythonScript.PsClass.Class1(arg).Class2(arg)<29>.Property() | 
					
						
							| 
									
										
										
										
											1998-08-18 14:54:11 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 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. |