/Doc/library/gensuitemodule.rst
http://unladen-swallow.googlecode.com/ · ReStructuredText · 61 lines · 44 code · 17 blank · 0 comment · 0 complexity · f20dfae073d5daaa17363703a865f8ad MD5 · raw file
- :mod:`gensuitemodule` --- Generate OSA stub packages
- ====================================================
- .. module:: gensuitemodule
- :platform: Mac
- :synopsis: Create a stub package from an OSA dictionary
- .. sectionauthor:: Jack Jansen <Jack.Jansen@cwi.nl>
- .. moduleauthor:: Jack Jansen
- The :mod:`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 :program:`PythonIDE`, but it can
- also be run as a script from the command line (pass :option:`--help` for help on
- the options) or imported from Python code. For an example of its use see
- :file:`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:
- .. function:: 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: :program:`Internet
- Explorer` appears not to be scriptable but definitely is.
- .. function:: 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 :file:`.app` bundle 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.
- ``output`` is the pathname where the resulting package is stored, if not
- specified a standard "save file as" dialog is presented to the user.
- ``basepkgname`` is the base package on which this package will build, and
- defaults to :mod:`StdSuites`. Only when generating :mod:`StdSuites` itself do
- you need to specify this. ``edit_modnames`` is a dictionary that can be used to
- change modulenames that are too ugly after name mangling. ``creator_signature``
- can be used to override the 4-char creator code, which is normally obtained from
- the :file:`PkgInfo` file in the package or from the CFM file creator signature.
- When ``dump`` is given it should refer to a file object, and ``processfile``
- will stop after decoding the resources and dump the Python representation of the
- terminology resources to this file. ``verbose`` should also be a file object,
- and specifying it will cause ``processfile`` to tell you what it is doing.
- .. function:: 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 ``application`` as a resource
- file and reads all ``"aete"`` and ``"aeut"`` resources from this file.