> I've been searching for a module to allow simple HTML generation, but > most of them appear to be more concerned with *parsing* HTML and XML. > The only one that looks promising from reviews dating back to 1998 or > so is HTMLgen, but the link on starship.python.net appears long dead. > > So my question is, what is the preferred way of generating simple HTML > or XHTML files these days? Is there a 'son of HTMLgen' or similar module?
OK, my thanks to everyone who replied, either on the list or privately. I followed the links, and the links from those links, and poked around in the various documentation. What I want to generate depends on the contents of directories, etc. and is therefore has more variation than is handled easily in the templating systems. I chose the HyperText module (http://dustman.net/andy/python/HyperText/) because this fits more naturally with the code I'm updating, and also allows subclassing for customisation, etc. To give you a flavour, one code snippet changes from: if len(theCase.inputData.relatedFiles)>0: htmlFile.write('<h2>The related file(s) for this case are:</h2>\n') htmlFile.write('<ul>\n') for related_file in theCase.inputData.relatedFiles: htmlFile.write('<li><a href="%s">%s</a></li>\n' % ( related_file, related_file)) htmlFile.write('</ul>\n') to the slightly more verbose, but much clearer and less error-prone: if len(testCaseData.inputData.relatedFiles) > 0: text = "The related file(s) for this case are:" heading = HTML.H2(text) document.append(heading) bulletList = HTML.UL() for fileName in testCaseData.inputData.relatedFiles: anchor = HTML.A(fileName, href=fileName) listItem = HTML.LI(anchor) bulletList.append(listItem) document.append(bulletList) and the module handles all of the start and end tags, indentation and other pretty printing. My only concern is that it is almost as old as HTMLgen :-( Cheers Duncan _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor