38.1. gensuitemodule — Generate OSA stub packages¶
The gensuitemodule module creates a Python package implementing stub code
for the AppleScript suites that are implemented by a specific application,
according to its AppleScript dictionary.
It is usually invoked by the user through the PythonIDE, but it can
also be run as a script from the command line (pass --help for help on
the options) or imported from Python code. For an example of its use see
Mac/scripts/genallsuites.py in a source distribution, which generates
the stub packages that are included in the standard library.
It defines the following public functions:
- gensuitemodule.is_scriptable(application)¶
- Returns true if - application, which should be passed as a pathname, appears to be scriptable. Take the return value with a grain of salt: Internet Explorer appears not to be scriptable but definitely is.
- gensuitemodule.processfile(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])¶
- Create a stub package for - application, which should be passed as a full pathname. For a- .appbundle this is the pathname to the bundle, not to the executable inside the bundle; for an unbundled CFM application you pass the filename of the application binary.- This function asks the application for its OSA terminology resources, decodes these resources and uses the resultant data to create the Python code for the package implementing the client stubs. - outputis the pathname where the resulting package is stored, if not specified a standard “save file as” dialog is presented to the user.- basepkgnameis the base package on which this package will build, and defaults to- StdSuites. Only when generating- StdSuitesitself do you need to specify this.- edit_modnamesis a dictionary that can be used to change modulenames that are too ugly after name mangling.- creator_signaturecan be used to override the 4-char creator code, which is normally obtained from the- PkgInfofile in the package or from the CFM file creator signature. When- dumpis given it should refer to a file object, and- processfilewill stop after decoding the resources and dump the Python representation of the terminology resources to this file.- verboseshould also be a file object, and specifying it will cause- processfileto tell you what it is doing.
- gensuitemodule.processfile_fromresource(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])¶
- This function does the same as - processfile, except that it uses a different method to get the terminology resources. It opens- applicationas a resource file and reads all- "aete"and- "aeut"resources from this file.
