import os, string, sys class AdminPage: """ AdminPage is the abstract superclass of all CGI Wrapper administration CGI classes. Subclasses typically override title() and writeBody(), but may customize other methods. Subclasses use self._var for the various vars that are passed in from CGI Wrapper and self.write() and self.writeln(). """ ## Init ## def __init__(self, vars): for name in vars.keys(): setattr(self, '_'+name, vars[name]) self._vars = vars ## HTML ## def html(self): self._html = [] self.writeHeader() self.writeBody() self.writeFooter() return string.join(self._html, '') ## Utility methods ## def write(self, *args): for arg in args: self._html.append(str(arg)) def writeln(self, *args): for arg in args: self._html.append(str(arg)) self._html.append('\n') ## Content methods ## def writeHeader(self): self.writeln('''
| ''' % (self.title(), self.bodyTags()))
self.writeBanner()
self.writeToolbar()
def writeBody(self):
raise NotImplementedError, 'Should be overridden in a subclass'
def writeFooter(self):
self.writeln(' |
|
CGI Wrapper
%s |
''' % self.title()) def writeToolbar(self): pass