| <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'