diff options
Diffstat (limited to 'Doc/lib/libpipes.tex')
-rw-r--r-- | Doc/lib/libpipes.tex | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Doc/lib/libpipes.tex b/Doc/lib/libpipes.tex new file mode 100644 index 0000000..389448b --- /dev/null +++ b/Doc/lib/libpipes.tex @@ -0,0 +1,84 @@ +\section{\module{pipes} --- + Interface to shell pipelines} + +\declaremodule{standard}{pipes} + \platform{Unix} +\sectionauthor{Moshe Zadka}{mzadka@geocities.com} +\modulesynopsis{A Python interface to \UNIX{} shell pipelines.} + + +The \module{pipes} module defines a class to abstract the concept of +a \emph{pipeline} --- a sequence of convertors from one file to +another. + +Because the module uses \program{/bin/sh} command lines, a \POSIX{} or +compatible shell for \function{os.system()} and \function{os.popen()} +is required. + +The \module{pipes} module defines the following class: + +\begin{classdesc}{Template}{} +An abstraction of a pipeline. +\end{funcdesc} + +Example: + +\begin{verbatim} +>>> import pipes +>>> t=pipes.Template() +>>> t.append('tr a-z A-Z', '--') +>>> f=t.open('/tmp/1', 'w') +>>> f.write('hello world') +>>> f.close() +>>> open('/tmp/1').read() +'HELLO WORLD' +\end{verbatim} + + +\subsection{Template Objects \label{template-objects}} + +Template objects following methods: + +\begin{methoddesc}{reset}{} +Restore a pipeline template to its initial state. +\end{methoddesc} + +\begin{methoddesc}{clone}{} +Return a new, equivalent, pipeline template. +\end{methoddesc} + +\begin{methoddesc}{debug}{flag} +If \var{flag} is true, turn debugging on. Otherwise, turn debugging +off. When debugging is on, commands to be executed are printed, and +the shell is given \code{set -x} command to be more verbose. +\end{methoddesc} + +\begin{methoddesc}{append}{cmd, kind} +Append a new action at the end. The \var{cmd} variable must be a valid +bourne shell command. The \var{kind} variable consists of two letters. + +The first letter can be either of \code{'-'} (which means the command +reads its standard input), \code{'f'} (which means the commands reads +a given file on the command line) or \code{'.'} (which means the commands +reads no input, and hence must be first.) + +Similarily, the second letter can be either of \code{'-'} (which means +the command writes to standard output), \code{'f'} (which means the +command writes a file on the command line) or \code{'.'} (which means +the command does not write anything, and hence must be last.) +\end{methoddesc} + +\begin{methoddesc}{prepend}{cmd, kind} +Add a new action at the beginning. See \method{append()} for explanations +of the arguments. +\end{methoddesc} + +\begin{methoddesc}{open}{file, mode} +Return a file-like object, open to \var{file}, but read from or +written to by the pipeline. Note that only one of \code{'r'}, +\code{'w'} may be given. +\end{methoddesc} + +\begin{methoddesc}{copy}{infile, outfile} +Copy \var{infile} to \var{outfile} through the pipe. +\end{methoddesc} |