diff options
author | Fred Drake <fdrake@acm.org> | 1999-01-26 15:47:59 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 1999-01-26 15:47:59 (GMT) |
commit | bc866ce2e34b240e51b639345742e86473cb038d (patch) | |
tree | 9bb1419f860a8e5b3a57e5ee305b8c451d2af44f | |
parent | 7c43905cd9499f23c8e3f21dca0508f823bd6860 (diff) | |
download | cpython-bc866ce2e34b240e51b639345742e86473cb038d.zip cpython-bc866ce2e34b240e51b639345742e86473cb038d.tar.gz cpython-bc866ce2e34b240e51b639345742e86473cb038d.tar.bz2 |
Documentation for the ConfigParser module, by Christopher G. Petrilli
(petrilli@amber.org).
-rw-r--r-- | Doc/lib/lib.tex | 1 | ||||
-rw-r--r-- | Doc/lib/libcfgparser.tex | 116 | ||||
-rw-r--r-- | Doc/lib/libundoc.tex | 3 |
3 files changed, 117 insertions, 3 deletions
diff --git a/Doc/lib/lib.tex b/Doc/lib/lib.tex index ae2b890..020a932 100644 --- a/Doc/lib/lib.tex +++ b/Doc/lib/lib.tex @@ -113,6 +113,7 @@ add new extensions to Python and how to embed it in other applications. %\input{librand} \input{libbisect} \input{libarray} +\input{libcfgparser} \input{libfileinput} \input{libcalendar} \input{libcmd} diff --git a/Doc/lib/libcfgparser.tex b/Doc/lib/libcfgparser.tex new file mode 100644 index 0000000..7f09581 --- /dev/null +++ b/Doc/lib/libcfgparser.tex @@ -0,0 +1,116 @@ +\section{\module{ConfigParser} --- + Configuration file parser.} + +\declaremodule{standard}{ConfigParser} + +\modulesynopsis{Configuration file parser.} +\sectionauthor{Christopher G. Petrilli}{petrilli@amber.org} + +This module defines the class \class{ConfigParser}. The +\class{ConfigParser} class implements a basic configuration file +parser language which provides a structure similar to what you would +find on Microsoft Windows INI files. You can use this to write Python +programs which can be customized by end users easily. + +The configuration file consists of sections, lead by a +\samp{[section]} header and followed by \samp{name: value} entries, +with continuations in the style of \rfc{959}. The optional values +can contain format strings which refer to other values in the same +section, or values in a special \code{DEFAULT} section. Additional +defaults can provided upon instantiation of the class. + +For example: + +\begin{verbatim} +foodir: %(dir)s/whatever +\end{verbatim} + +would resolve the \samp{\%(dir)s} to the value of dir. All reference +expansions are done late, on demand. + +Intrinsic defaults can be specified by passing them into the +\class{ConfigParser} constructor as a dictionary. + +\begin{classdesc}{ConfigParser}{\optional{defaults}} +Return a new instance of the \class{ConfigParser} class. When +\var{defaults} is given, it is initialized into the dictionairy of +intrinsic defaults. They keys must be strings, and the values must be +appropriate for the \samp{\%()s} string interpolation. Note that +\var{__name__} is always an intrinsic default; it's value is the +section name. +\end{classdesc} + +\begin{excdesc}{NoSectionError} +Exception raised when a specified section is not found. +\end{excdesc} + +\begin{excdesc}{DuplicateSectionError} +Exception raised when mutliple sections with the same name are found. +\end{excdesc} + +\begin{excdesc}{NoOptionError} +Exception raised when a specified option is not found in the specified +section. +\end{excdesc} + +\begin{excdesc}{InterpolationError} +Exception raised when problems occur performing string interpolation. +\end{excdesc} + +\begin{excdesc}{MissingSectionHeaderError} +Exception raised when attempting to parse a file which has no section +headers. +\end{excdesc} + +\begin{excdesc}{ParsingError} +Exception raised when errors occur attempting to parse a file. +\end{excdesc} + +\subsection{ConfigParser Objects \label{ConfigParser-objects}} + +\class{ConfigParser} instances have the following methods: + +\begin{methoddesc}{defaults}{} +Return a dictionairy containing the instance-wide defaults. +\end{methoddesc} + +\begin{methoddesc}{sections}{} +Return a list of the sections available. +\end{methoddesc} + +\begin{methoddesc}{has_section}{section} +Indicates whether the named section is present in the +configuration. The \code{DEFAULT} section is not acknowledged. +\end{methoddesc} + +\begin{methoddesc}{options}{section} +Returns a list of options available in the specified \var{section}. +\end{methoddesc} + +\begin{methoddesc}{read}{filenames} +Read and parse a list of filenames. +\end{methoddesc} + +\begin{methoddesc}{get}{section, option\optional{, raw}} +Get an \var{option} value for the provided \var{section}. All the +\samp{\%} interpolations are expanded in the return values, based on +the defaults passed into the constructor, unless the \var{raw} +argument is true. +\end{methoddesc} + +\begin{methoddesc}{getint}{section, option} +A convenience method which coerces the \var{option} in the specified +\var{section} to an integer. +\end{methoddesc} + +\begin{methoddesc}{getfloat}{section, option} +A convenience method which coerces the \var{option} in the specified +\var{section} to a floating point number. +\end{methoddesc} + +\begin{methoddesc}{getboolean}{section, option} +A convenience method which coerces the \var{option} in the specified +\var{section} to a boolean value. Note that the only accepted values +for the option are \code{0} and \code{1}, any others will raise +\exception{ValueError}. +\end{methoddesc} diff --git a/Doc/lib/libundoc.tex b/Doc/lib/libundoc.tex index 4420468..bb7274d 100644 --- a/Doc/lib/libundoc.tex +++ b/Doc/lib/libundoc.tex @@ -43,9 +43,6 @@ This is a package rather than a module. Some of these are very old and/or not very robust; marked with ``hmm''. \begin{description} -\item[ConfigParser.py] ---- Parse a file of sectioned configuration parameters - \item[cmp.py] --- Efficiently compare files |