<type 'exceptions.KeyError'>
Python 2.5.5: /usr/bin/python2.5
Thu May 17 14:07:43 2012

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

 /home/hg/hgrepo/stripped/src/fcgi.py in run(self=<src.fcgi.Request object at 0xb41dd0>)
  578         """Runs the handler, flushes the streams, and ends the request."""
  579         try:
  580             protocolStatus, appStatus = self.server.handler(self)
  581         except:
  582             traceback.print_exc(file=self.stderr)
protocolStatus undefined, appStatus undefined, self = <src.fcgi.Request object at 0xb41dd0>, self.server = <src.fcgi.WSGIServer object at 0x98e550>, self.server.handler = <bound method WSGIServer.handler of <src.fcgi.WSGIServer object at 0x98e550>>
 /home/hg/hgrepo/stripped/src/fcgi.py in handler(self=<src.fcgi.WSGIServer object at 0x98e550>, req=<src.fcgi.Request object at 0xb41dd0>)
 1264         try:
 1265             try:
 1266                 result = self.application(environ, start_response)
 1267                 try:
 1268                     for data in result:
result = None, self = <src.fcgi.WSGIServer object at 0x98e550>, self.application = <function myapp at 0x990cf8>, environ = {'DH_USER': 'hg', 'DOCUMENT_ROOT': '/home/hg/robotika.cz', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'lang=en', ...}, start_response = <function start_response at 0x815b18>
 /home/hg/hgrepo/stripped/src/app.py in myapp(env={'DH_USER': 'hg', 'DOCUMENT_ROOT': '/home/hg/robotika.cz', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,text/xml;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_COOKIE': 'lang=en', ...}, start_response=<function start_response at 0x815b18>)
  112         ctx = Context(env, start_response)
  113         store = storage.Storage()
  114         ret = dispatch(ctx, store)
  115         del store # to get rid off cursors, database connections etc.
  116         return ret
ret undefined, global dispatch = <function dispatch at 0x9a8b18>, ctx = <src.app.Context object at 0xabe590>, store = <src.storage.Storage object at 0xabe550>
 /home/hg/hgrepo/stripped/src/app.py in dispatch(ctx=<src.app.Context object at 0xabe590>, store=<src.storage.Storage object at 0xabe550>)
  232                 store.setuser(user)
  233 
  234         return chrome.page(ctx, store)
  235 
  236 def sendfile(ctx, filepath):
global chrome = <module 'src.chrome' from '/home/hg/hgrepo/stripped/src/chrome.pyc'>, chrome.page = <function page at 0x981b18>, ctx = <src.app.Context object at 0xabe590>, store = <src.storage.Storage object at 0xabe550>
 /home/hg/hgrepo/stripped/src/chrome.py in page(ctx=<src.app.Context object at 0xabe590>, store=<src.storage.Storage object at 0xabe550>)
  314         typenames = ['page'] + [getattr(node, 'type', 'page') for node in store.crumbs]
  315         typenames.reverse()
  316         bases = [typedict[b] for b in util.iunique(typenames)]
  317         p = type('Custom', tuple(bases), {})
  318         try:
bases undefined, typedict = {'feed': <class 'src.chrome.Feed'>, 'page': <class 'src.chrome.Page'>, 'title': <class 'src.chrome.Title'>, 'track': <class 'src.chrome.Track'>}, b = 'email', global util = <module 'src.util' from '/home/hg/hgrepo/stripped/src/util.pyc'>, util.iunique = <function iunique at 0x97f5f0>, typenames = ['email', 'title', 'page']

<type 'exceptions.KeyError'>: 'email'
      args = ('email',)
      message = 'email'