--> --> -->
 
 
<type 'exceptions.KeyError'>
Python 2.5.1: /oj/bin/python
Sun Nov 22 08:40:03 2009

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

 /oj/hg/web/hgwebdir.cgi in ()
   48 
   49 def make_web_app():
   50     return hgwebdir("hgweb.config")
   51 
   52 wsgicgi.launch(wsgiapplication(make_web_app))
wsgicgi = <proxied module 'wsgicgi'>, wsgicgi.launch = <function launch at 0x8477b8c>, wsgiapplication = <class 'hgweb.request.wsgiapplication'>, make_web_app = <function make_web_app at 0x8477ca4>
 /oj/lib/hghost/hgweb/wsgicgi.py in launch(application=<hgweb.request.wsgiapplication object at 0x8476cac>)
   62         return write
   63 
   64     result = application(environ, start_response)
   65     try:
   66         for data in result:
result undefined, application = <hgweb.request.wsgiapplication object at 0x8476cac>, environ = {'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/oj/hg/web', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HGRCPATH': '/oj/hg/.hgrc', 'HTTP_ACCEPT': 'text/xml,application/xhtml+xml,text/html;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', ...}, start_response = <function start_response at 0x847817c>
 /oj/lib/hghost/hgweb/request.py in __call__(self=<hgweb.request.wsgiapplication object at 0x8476cac>, wsgienv={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/oj/hg/web', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HGRCPATH': '/oj/hg/.hgrc', 'HTTP_ACCEPT': 'text/xml,application/xhtml+xml,text/html;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', ...}, start_response=<function start_response at 0x847817c>)
   15 
   16     def __call__(self, wsgienv, start_response):
   17         return _wsgirequest(self.destmaker(), wsgienv, start_response)
   18 
   19 class _wsgirequest(object):
global _wsgirequest = <class 'hgweb.request._wsgirequest'>, self = <hgweb.request.wsgiapplication object at 0x8476cac>, self.destmaker = <function make_web_app at 0x8477ca4>, wsgienv = {'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/oj/hg/web', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HGRCPATH': '/oj/hg/.hgrc', 'HTTP_ACCEPT': 'text/xml,application/xhtml+xml,text/html;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', ...}, start_response = <function start_response at 0x847817c>
 /oj/lib/hghost/hgweb/request.py in __init__(self=<hgweb.request._wsgirequest object at 0x8476c8c>, destination=<hgweb.hgwebdir_mod.hgwebdir object at 0x847608c>, wsgienv={'CONTENT_LENGTH': '0', 'DOCUMENT_ROOT': '/oj/hg/web', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HGRCPATH': '/oj/hg/.hgrc', 'HTTP_ACCEPT': 'text/xml,application/xhtml+xml,text/html;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', ...}, start_response=<function start_response at 0x847817c>)
   33         self.start_response = start_response
   34         self.headers = []
   35         destination.run_wsgi(self)
   36 
   37     out = property(lambda self: self)
destination = <hgweb.hgwebdir_mod.hgwebdir object at 0x847608c>, destination.run_wsgi = <bound method hgwebdir.run_wsgi of <hgweb.hgwebdir_mod.hgwebdir object at 0x847608c>>, self = <hgweb.request._wsgirequest object at 0x8476c8c>
 /oj/lib/hghost/hgweb/hgwebdir_mod.py in run_wsgi(self=<hgweb.hgwebdir_mod.hgwebdir object at 0x847608c>, req=<hgweb.request._wsgirequest object at 0x8476c8c>)
  224                         req.write(tmpl("error", error=str(inst)))
  225                 else:
  226                     req.write(tmpl("notfound", repo=virtual))
  227             else:
  228                 if req.form.has_key('static'):
req = <hgweb.request._wsgirequest object at 0x8476c8c>, req.write = <bound method _wsgirequest.write of <hgweb.request._wsgirequest object at 0x8476c8c>>, tmpl = None, repo undefined, virtual = 'robots.txt'
 /oj/lib/hghost/hgweb/request.py in write(self=<hgweb.request._wsgirequest object at 0x8476c8c>, *things=(<generator object at 0x84954ac>,))
   46         for thing in things:
   47             if hasattr(thing, "__iter__"):
   48                 for part in thing:
   49                     self.write(part)
   50             else:
part undefined, thing = <generator object at 0x84954ac>
 /oj/lib/python/mercurial/templater.py in __call__(self=<mercurial.templater.templater object at 0x846d44c>, t='notfound', **map={'repo': 'robots.txt'})
   85         if not self.cache.has_key(t):
   86             try:
   87                 self.cache[t] = file(self.map[t]).read()
   88             except IOError, inst:
   89                 raise IOError(inst.args[0], _('template file %s: %s') %
self = <mercurial.templater.templater object at 0x846d44c>, self.cache = {'annotateline': '<tr style="font-family:monospace" class="parity#...v#</a></td><td><pre>#line|escape#</pre></td></tr>', 'archiveentry': ' | <a href="{url}archive/{node|short}{extension}">#type|escape#</a> ', 'branchentry': '<tr class="parity{parity}"><td class="age"><i>{d...sessionvars%urlparameter}">manifest</a></td></tr>', 'branchtag': '<span class="branchtag" title="{name}">{name}</span> ', 'changelogchild': '<tr><th class="child">child #rev#:</th><td class...ionvars%urlparameter}">#node|short#</a></td></tr>', 'changelogparent': '<tr><th class="parent">parent #rev#:</th><td cla...ionvars%urlparameter}">#node|short#</a></td></tr>', 'changesetchild': '<tr><td>child {rev}</td><td style="font-family:m...ionvars%urlparameter}">{node|short}</a></td></tr>', 'changesetparent': '<tr><td>parent {rev}</td><td style="font-family:...ionvars%urlparameter}">{node|short}</a></td></tr>', 'default': 'summary', 'diffblock': '<pre>#lines#</pre>', ...}, t = 'notfound', builtin file = <type 'file'>, self.map = {'changelog': '/oj/lib/hghost/hgweb/templates/changelog.tmpl', 'changelogentry': '/oj/lib/hghost/hgweb/templates/changelogentry.tmpl', 'changeset': '/oj/lib/hghost/hgweb/templates/changeset.tmpl', 'error': '/oj/lib/hghost/hgweb/templates/error.tmpl', 'fileannotate': '/oj/lib/hghost/hgweb/templates/fileannotate.tmpl', 'filediff': '/oj/lib/hghost/hgweb/templates/filediff.tmpl', 'filelog': '/oj/lib/hghost/hgweb/templates/filelog.tmpl', 'filerevision': '/oj/lib/hghost/hgweb/templates/filerevision.tmpl', 'footer': '/oj/lib/hghost/hgweb/templates/footer.tmpl', 'header': '/oj/lib/hghost/hgweb/templates/header.tmpl', ...}, ).read undefined

<type 'exceptions.KeyError'>: 'notfound'