WebUtils User's Guide

WebUtils version 1.0.2

Synopsis

The WebUtils package are a basic set of modules for common web related programming tasks such as encoding/decoding HTML, dealing with Cookies, etc.

Description

Cookie

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.

HTMLForException

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

HTTPStatusCodes

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.

Funcs

See the source or the generated documentation.

Credit

Author: Chuck Esterbrook.

In Funcs.py, some tips were taken from the Python library source.