summaryrefslogtreecommitdiffstats
path: root/Doc/lib
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-12-22 05:18:24 (GMT)
committerGuido van Rossum <guido@python.org>1998-12-22 05:18:24 (GMT)
commit5e97c9dff91ad885d36a9d26f97549f198b90ee8 (patch)
tree4985eec3925141c56a7e7d647097191aa429a18f /Doc/lib
parenta7d9bdfab61551ed16efc55c1b6c37268c2d9832 (diff)
downloadcpython-5e97c9dff91ad885d36a9d26f97549f198b90ee8.zip
cpython-5e97c9dff91ad885d36a9d26f97549f198b90ee8.tar.gz
cpython-5e97c9dff91ad885d36a9d26f97549f198b90ee8.tar.bz2
Adding libshlex and libnetrc by Eric Raymond.
Diffstat (limited to 'Doc/lib')
-rw-r--r--Doc/lib/lib.tex2
-rw-r--r--Doc/lib/libnetrc.tex47
-rw-r--r--Doc/lib/libshlex.tex77
3 files changed, 126 insertions, 0 deletions
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex
index 178503b..6b031e9 100644
--- a/Doc/lib/lib.tex
+++ b/Doc/lib/lib.tex
@@ -116,6 +116,7 @@ add new extensions to Python and how to embed it in other applications.
\input{libfileinput}
\input{libcalendar}
\input{libcmd}
+\input{libshlex}
\input{liballos} % Generic Operating System Services
\input{libos}
@@ -192,6 +193,7 @@ add new extensions to Python and how to embed it in other applications.
\input{libquopri}
\input{libmailbox}
\input{libmimify}
+\input{libnetrc}
\input{librestricted}
\input{librexec}
diff --git a/Doc/lib/libnetrc.tex b/Doc/lib/libnetrc.tex
new file mode 100644
index 0000000..4d23769
--- /dev/null
+++ b/Doc/lib/libnetrc.tex
@@ -0,0 +1,47 @@
+% Module and documentation by Eric S. Raymond, 21 Dec 1998
+\section{Standard Module \module{netrc}}
+\stmodindex{netrc}
+\label{module-netrc}
+
+The \code{netrc} class parses and encapsulates the netrc file format
+used by Unix's ftp(1) and other FTP clientd
+
+\begin{classdesc}{netrc}{\optional{file}}
+A \class{netrc} instance or subclass instance enapsulates data from
+a netrc file. The initialization argument, if present, specifies the file
+to parse. If no argument is given, the file .netrc in the user's home
+directory will be read. Parse errors will throw a SyntaxError
+exception with associated diagnostic information including the file
+name, line number, and terminating token.
+\end{classdesc}
+
+\subsection{netrc Objects}
+\label{netrc-objects}
+
+A \class{netrc} instance has the following methods:
+
+\begin{methoddesc}{authenticators}{}
+Return a 3-tuple (login, account, password) of authenticators for the
+given host. If the netrc file did not contain an entry for the given
+host, return the tuple associated with the `default' entry. If
+neither matching host nor default entry is available, return None.
+\end{methoddesc}
+
+\begin{methoddesc}{__repr__}{host}
+Dump the class data as a string in the format of a netrc file.
+(This discards comments and may reorder the entries.)
+\end{methoddesc}
+
+Instances of \class{netrc} have public instance variables:
+
+\begin{memberdesc}{hosts}
+Dictionmary mapping host names to login/account/password tuples. The
+`default' entry, if any, is represented as a pseudo-host by that name.
+\end{memberdesc}
+
+\begin{memberdesc}{macros}
+Dictionary mapping macro names to string lists.
+\end{memberdesc}
+
+
+
diff --git a/Doc/lib/libshlex.tex b/Doc/lib/libshlex.tex
new file mode 100644
index 0000000..8dded14
--- /dev/null
+++ b/Doc/lib/libshlex.tex
@@ -0,0 +1,77 @@
+% Module and documentation by Eric S. Raymond, 21 Dec 1998
+\section{Standard Module \module{shlex}}
+\stmodindex{shlex}
+\label{module-shlex}
+
+The \code{shlex} class makes it easy to write lexical analyzers for
+simple syntaxes resembling that of the Unix shell. This will often
+be useful for writing minilanguages, e.g. in run control files for
+Python applications.
+
+\begin{classdesc}{shlex}{\optional{stream}}
+A \class{shlex} instance or subclass instance is a lexical analyzer
+object. The initialization argument, if present, specifies where to
+read characters from. It must be a file- or stream-like object with
+\method{read} and \method{readline} methods. If no argument is given,
+input will be taken from sys.stdin.
+
+\end{classdesc}
+
+\subsection{shlex Objects}
+\label{shlex-objects}
+
+A \class{shlex} instance has the following methods:
+
+\begin{methoddesc}{get_token}{}
+Return a token. If tokens have been stacked using \method{push_token},
+pop a token off the stack. Otherwise, read one from the input stream.
+If reading encounters an immediate end-of-file, '' is returned.
+\end{methoddesc}
+
+\begin{methoddesc}{push_token}{str}
+Push the argument onto the token stack.
+\end{methoddesc}
+
+Instances of \class{shlex} subclasses have some public instance
+variables which either control lexical analysis or can be used
+for debugging:
+
+\begin{memberdesc}{commenters}
+The string of characters that are recognized as comment beginners.
+All characters from the comment beginner to end of line are ignored.
+Includes just '#' by default.
+\end{memberdesc}
+
+\begin{memberdesc}{wordchars}
+The string of characters that will accumulate into multi-character
+tokens. By default, includes all ASCII alphanumerics and underscore.
+\end{memberdesc}
+
+\begin{memberdesc}{whitespace}
+Characters that will be considered whitespace and skipped. Whitespace
+bounds tokens. By default, includes space and tab and linefeed and
+carriage-return.
+\end{memberdesc}
+
+\begin{memberdesc}{quotes}
+Characters that will be considered string quotes. The token
+accumulates until the same quote is encountered again (thus, different
+quote types protect each other as in the shall.) By default, includes
+ASCII single and double quotes.
+\end{memberdesc}
+
+Note that any character not declared to be a word character,
+whitespace, or a quote will be returned as a single-character token.
+
+Quote and comment characters are not recognized within words. Thus,
+the bare words ``ain't'' and ``ain#t'' would be returned as single
+tokens by the default parser.
+
+\begin{memberdesc}{lineno}
+Source line number (count of newlines seen so far plus one).
+\end{memberdesc}
+
+\begin{memberdesc}{token}
+The token buffer. It may be useful to examine this when catching exceptions.
+\end{memberdesc}
+