Let's start at the top. In this chapter we will study the complete implementation of PyErrata, but readers are also encouraged to visit the web site where it lives to sample the flavor of its interaction first-hand. Unlike PyMailCgi, there are no password constraints in PyErrata, so you can access all of its pages without any configuration steps.
PyErrata installs as a set of HTML files and Python CGI scripts, along with a few image files. As usual, you can simply point your web browser to the system's root page to run the system live while you study this chapter. Its root page currently lives here:[1]
[1] But be sure to see this book's web site, http://rmi.net/~lutz/about-pp.html, for an updated link if the one listed here no longer works by the time you read this book. Web sites seem to change addresses faster than developers change jobs.
http://starship.python.net/~lutz/PyErrata/pyerrata.html
If you go to this address, your browser will be served the page shown in Figure 14-2. PyErrata supports both submission and browsing of comments and error reports; the four main links on this page essentially provide write and read access to its databases over the Web.
Figure 14-2. PyErrata main page
The static HTML code file downloaded to produce this page is listed in Example 14-1. The only parts we're interested in are shown in bold: links to the submission and browsing pages for comments and errata. There is more to this page, but we're only dealing with the parts shown in the screen shot. For instance, the site will eventually also include resource page HTML files (e.g., Python resources and changes), but we'll ignore those components in this book.
Example 14-1. PP2EInternetCgi-WebPyErratapyerrata.html
PyErrata: PP2E Errata Page
Version 1.0, November 1999
<a href="http://rmi.net/~lutz/about-pp.html"></a> Welcome. This is the official place where corrections, supplements, and other supporting information for the book Programming Python, 2nd Edition are maintained. This site is also described in the book: most of its interaction is implemented in <a href="http://rmi.net/~lutz/about-python.html">Python</a> as server-side CGI scripts, and most submitted information is stored in files on the starship server.
You may both browse items, and submit new ones here. This site is primarily used for automatic, reader-controlled tracking of book corrections ("errata"); if you find a bug, please take a moment to fill out the errata submission form, so we can fix it in a later printing. Select a link below to submit or browse book-related items.
<a href="http://www.python.org"></a> <a href="http://PyInternetDemos.html">More examples</a>
Introducing Python
Part I: System Interfaces
System Tools
Parallel System Tools
Larger System Examples I
Larger System Examples II
Part II: GUI Programming
Graphical User Interfaces
A Tkinter Tour, Part 1
A Tkinter Tour, Part 2
Larger GUI Examples
Part III: Internet Scripting
Network Scripting
Client-Side Scripting
Server-Side Scripting
Larger Web Site Examples I
Larger Web Site Examples II
Advanced Internet Topics
Part IV: Assorted Topics
Databases and Persistence
Data Structures
Text and Language
Part V: Integration
Extending Python
Embedding Python
VI: The End
Conclusion Python and the Development Cycle