WebUtils version 1.0.2
The WebUtils package are a basic set of modules for common web related programming tasks such as encoding/decoding HTML, dealing with Cookies, etc.
The Cookie module is not a Webware "original". This module is provided to the Python community by Timothy O'Malley via GTE Internetworking. It is included with Webware for your convenience and to provide Cookie functionality in frameworks such as the WebKit.
The Cookie module contains an excellent doc string including contact information, descriptions and examples. Therefore, please see the top of the source or the generated documentation.
This module defines a function by the same name:
def HTMLForException(excInfo=None, options=None)
HTMLForException returns an HTML string that presents useful information to the developer about the exception. The first argument is a tuple such as returned by sys.exc_info() which is in fact, invoked if the tuple isn't provided. The options parameter can be a dictionary to override the color options in HTMLForExceptionOptions which is currently defined as:
HTMLForExceptionOptions = { 'table.bgcolor': '#F0F0F0', 'default.fgcolor': '#000000', 'row.location.fgcolor': '#006600', 'row.code.fgcolor': '#FF0000' }
A sample HTML exception string looks like this:
Traceback (innermost last): File "Application.py", line 90, in dispatchRequest self.respond(context, response) File "Application.py", line 112, in respond ctx.component().respond(ctx, response) File "HTTPComponent.py", line 30, in respond method(ctx, response) File "/home/echuck/Projects/Webware/WebKit/Examples/Introspect.py", line 9, in respondToGet self.write('<table %s>' % tableOptions) NameError: tableOptions |
This module provides a list of well known HTTP status codes in list form and in a dictionary that can be keyed by code number or identifier.
You can index the HTTPStatusCodes dictionary by code number such as 200
, or identifier such as OK
. The dictionary returned has keys 'code'
, 'identifier'
and 'htmlMsg'
. An 'asciiMsg'
key is provided, however, the HTML tags are not yet actually stripped out.
The HTMLTableOfHTTPStatusCodes()
functions returns a string which is exactly that: a table containing the HTTPStatusCodes
defined by the module. You can affect the formatting of the table by specifying values for the arguments. It's highly recommended that you use key=value
arguments since the number and order could easily change in future versions. The definition is:
def HTMLTableOfHTTPStatusCodes(codes=HTTPStatusCodeList, tableArgs='align=center border=2', rowArgs='valign=top', colArgs='', headingTag='th', headingArgs='')
If you run the script, it will invoke HTMLTableOfHTTPStatusCodes()
and print its contents with some minimal HTML wrapping. You could do this:
> cd Webware/Projects/WebUtils
> python HTTPStatusCodes.py > HTTPStatusCodes.html
And then open the HTML file in your favorite browser.
See the source or the generated documentation.
Author: Chuck Esterbrook.
In Funcs.py, some tips were taken from the Python library source.