Initial Revision
1 parent f894e5c commit 7819de1e44ad551cc820f42e9eb5403a569d766e
@tundra tundra authored on 5 Apr 2004
Showing 1 changed file
View
120
tconfpy.3 0 → 100644
.ds CP 2003-2004
.ds TC \'tconfpy\'
.TH TCONFPY 3 "TundraWare Inc."
 
.SH NAME tconfpy.py
Configuration File Support For Python Applications
 
.SH SYNOPSIS
 
It is common to provide an external "configuration file" when writing
sophisticated applications. This gives the end-user the ability to
easily change program options by editing that file.
 
\*(TC is a Python module for parsing such configuration files. \*(TC
understands and parses a configuration "language" which has a rich set
of string-substitution, variable name, conditional, and validation
features.
 
By using \*(TC, you unburden your program from the major responsibility
of configuration file parsing and validation, while providing your
users a rich set of configuration features.
 
 
.SH INSTALLATION
 
 
.SH PROGRAMMING USING THE \*(TC API
 
\*(TC is a Python module and thus available for use by any Python
program. This section discusses how to invoke the \*(TC parser, the
options available when doing so, and what the parser returns to
the calling program.
 
.SS API OVERVIEW
 
.nf
.B ParseConfig(cfgfile, InitialSymTbl={}, Debug=False, LiteralVars=False)
 
where:
 
.B cfgfile
The the name of a file containing configuration information
.B InitialSymTbl
A pre-populated symbol table. Defaults to an empty symbol table. As
described below, this must contain valid \'VarDescriptor\' entries
for each symbol in the table.
.B Debug
Defaults to False. If set to True, \*(TC will provide detailed
debugging information about each line processed when it returns.
.B LiteralVars
Defaults to False. If set to True this option Enables variable
substitutions within \'.literal\' blocks of a configuration file.
See the section in the language reference below on \'.literal\'
usage for details.
 
 
.SS PARSING A CONFIGURATION FILE
 
.SS PASSING AN INITIAL SYMBOL TABLE
 
.SS THE \'Debug\' OPTION
 
.SS THE \'LiteralVars\' OPTION
 
.SS WHAT \*(TC RETURNS
 
 
 
.SH CONFIGURATION LANGUAGE REFERENCE
 
 
\*(TC recognizes a full-featured configuration language that includes
variable creation and value assignment, a full preprocessor with
conditionals, type and value enforcement, and lexical namespaces.
This section of the document describes that language and provides
examples of how each feature can be used.
 
.SS GENERAL RULES FOR THE \*(TC CONFIGURATION LANGUAGE
 
.SS VARIABLES AND VARIABLE REFERENCES
 
.SS PREDEFINED VARIABLES
 
.SS THE \'.include\' DIRECTIVE
 
.SS CONDITIONAL DIRECTIVES
 
.SS \'.literal\. - USING \*(TC AS A PREPROCESSOR FOR OTHER LANGUAGES
 
.SS TYPE AND VALUE ENFORCEMENT
 
.SS LEXICAL NAMESPACES
 
.SH ADVANCED TOPICS
 
.SS GUARANTEEING A CORRECT BASE CONFIGURATION
 
.SS ENFORCING MANDATORY CONFIGURATIONS
 
 
.SH OTHER
 
\*(TC requires Python 2.3 or later.
 
.SH BUGS AND MISFEATURES
None known as of this release.
 
.SH COPYRIGHT AND LICENSING
\*(TC is Copyright(c) \*(CP TundraWare Inc. For terms of use, see
the tconfpy-license.txt file in the program distribution. If you
install \*(TC on a FreeBSD system using the 'ports' mechanism, you
will also find this file in /usr/local/share/doc/py-tconfpy.
 
.SH AUTHOR
.nf
Tim Daneliuk
tconfpy@tundraware.com