from ExamplePage import ExamplePage class RequestInformation(ExamplePage): """Request information demo.""" def writeContent(self): self.writeln('<h3>Request Variables</h3>') self.writeln('<p>The following table' ' shows the values for various request variables.</p>') self.writeln('<table style="font-size:small;width:100%"' ' border="0" cellpadding="2" cellspacing="2" width="100%">') request = self.request() self.dict('fields()', request.fields()) self.dict('environ()', request.environ()) self.dict('cookies()', request.cookies()) self.writeln('</table>') setCookie = self.response().setCookie setCookie('TestCookieName', 'CookieValue') setCookie('TestExpire1', 'expires in 1 minute', expires='+1m') def pair(self, key, value): valueType = type(value) if valueType is type([]) or valueType is type(()): value = ', '.join(map(str, value)) self.writeln('<tr valign="top"><td>%s</td><td>%s</td></tr>' % (key, self.htmlEncode(str(value)))) def list(self, codeString): list = eval(codeString) assert type(list) is type([]) or type(list) is type(()) self.pair(codeString, list) def dict(self, name, dict): self.writeln('<tr valign="top">' '<td style="background-color:#CCF" colspan="2">%s</td>' '</tr>' % (name)) keys = dict.keys() keys.sort() for name in keys: self.writeln('<tr valign="top" style="background-color:#EEF">' '<td>%s</td><td>%s</td></tr>' % (name, self.htmlEncode( str(dict[name])).replace('\n', '<br>').replace( ',', ',<wbr>').replace(';', ';<wbr>').replace(':/', ':<wbr>/')))