    #!/usr/bin/python
    #
    #  Class for generating HTML pages
    #

    class Html_Page:

        def __init__ (self, t="", h=""):
    	self.title = t
    	self.heading = h

        def generate_heading (self, bgcolor=""):
    	#
    	# Generate heading for a page
    	#
    	self.f.write ("<html>\n")
    	self.f.write ("<head>\n")
    	self.f.write ("<title>" + self.title + "</title>\n")
    	self.f.write ("</head>\n")
    	self.f.write ("<body bgcolor=" + bgcolor + ">\n")
    	self.f.write ("<h1 align=center>" + self.heading + "</h1>\n")

        def generate_body (self):
    	#
    	# Empty function - to be redefined in a descendant
    	#
    	print ""

        def generate_trailer (self):
    	#
    	# generate the trailer for a page
    	#
    	self.f.write ("</body>\n")
    	self.f.write ("</html>\n")

        def generate (self, bgcolor=""):
    	self.generate_heading (bgcolor)
    	self.generate_body ()
    	self.generate_trailer ()

    #
    # Code to test this class
    #

    if __name__ == "__main__":
        p = html_page ("This is the title", "<i>This is the top heading</i>")
        p.generate ("lightblue")

##### Copyright © 1997, Richie Bielak
Published in Issue 19 of the Linux Gazette, July 1997