Execution starts at Section 7.7, “main(): Main program”.
We'll also use three helper classes:
Section 7.19, “class Inputs: All the script's input”: This class
encapsulates all the logic that deals with fetching
the script's inputs from two sources: the cgi.FieldStorage instance that transmits the
form's name-value pairs, and the environmental
variable that contains the incoming cookie, if any.
Section 7.21, “class UserDatabase”: This class
represents the file containing our records for each
user. An instance is a container for UserRecord instances.
Section 7.28, “class UserRecord”: An instance of
this class is an abstract data type containing the
information for one user.