#!/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