|
| ARexx Module |
AmigaPython includes very powerful ARexx support. I added a low-level
builtin module (ARexxll) and a high-level module
(ARexx, written in Python). You're able to add an ARexx port
to your Python programs in no-time, and you're also able to control other
applications from Python by sending them ARexx commands to their ARexx
port. The ARexx module implements:
port class (generic ARexx port root class)
privateport class (private ARexx port for sending
messages only)
publicport class (public ARexx port to receive commands
on)
host class (full-featured ARexx host class, including
powerful command parser and dispatcher)
| DOS Library Module |
For more powerful operation under AmigaDOS, and because I needed it for
the ARexx implementation, there are two additional modules. The first is
the low-level builtin module Doslib, and the other, the
Dos module, is written on top of it (in Python). They work
together much the same as the strop and string
modules do: you don't use the builtin one directy but rather the
higher-level module. So, you will only need to use the Dos
module which provides the following:
ArgParser class. This is an argument string parser to
parse strings according to a template as understood by the standard
AmigaDOS ReadArgs function. The ARexx module
uses it for parsing the ARexx command arguments. This is actually a very
powerful class! | Workbench Support |
Ofcourse AmigaPython supports the Workbench. You can:
And as you might expect: tooltypes and multi-selected icons are converted to command line arguments. Python never knows it was launched from the Workbench!
| Enhanced Environment Variables |
For total control and flexibility I've added a module
(environment) that implements various functions to control
your environment variables from within Python. AmigaPython discriminates
between Global environment variables (in ENV:) and Local environment
variables (shell-local). You're able to read, write and update both types
of variables. For portability, os.environ contains
both types.
| Miscellaneous Amiga Enhancements |
Finally there are some small enhancements scattered throughout the
program, but mostly in the amiga module. For instance, I've
added a very fast CRC-32 checksum function. In the select
module, I've added an enhanced version of the select
function. The AmigaPython version is able to wait not only on network
events, but also on DOS signals, with or without a timeout!