Module svnmailer.processes
This module contains a portable class (Process
) for process creation
with pipes. It has a a quite general character and can be easily used
outside of the svnmailer as well.
The Process
class uses an implementation which depends on the runtime.
Which implementation is chosen can be determined via the
Process.IMPLEMENTATION
class variable. These are the possibilities (and
they are tried in this order):
- subprocess
- The subprocess module is used. This is available in python 2.4 and
later by default.
- popen
- The popen2.Popen3 class is used. This is available in python 2.3 on
supported platforms (notably Win32 isn't one of them)
- win32api
- Processes are created using the Win32 API (CreateProcess etc). The
utilized package is PyWin32, which is included in ActivePython by
default.
- dumb
- If none of the above possibilities is available, the dumb
implementation is chosen. This uses the popen* functions from the
os module. Various combinations of pipe parameter combinations are
not available in this implementation. NotImplementedError is
raised in this case.
Classes |
Process |
Spawn a child with certain attributes |
ProcessImpl |
Spawn a child with certain attributes |