--> --> -->
 
 
<class 'genshi.template.eval.UndefinedError'>
Python 2.6.2: /usr/www/users/stlpartn/stlpartners.com/telco2-adfunded/../../_virtualenv/bin/python
Wed Mar 10 05:05:06 2010

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

 /usr/www/users/stlpartn/stlpartners.com/telco2-adfunded/register.cgi in ()
   44         registration.DiscountCode('VIP291', '50%'),
   45     )
   46 
   47 if __name__ == "__main__":
   48     registration.FormHandler(Form()).run_with_cgi()
registration = <module 'stl.registration' from '/usr/www/users/stlpartn/stl/registration.py'>, registration.FormHandler = <class 'stl.registration.FormHandler'>, Form = <class '__main__.Form'>, ).run_with_cgi undefined
 /usr/www/users/stlpartn/stl/registration.py in run_with_cgi(self=<stl.registration.FormHandler object at 0x28d10e6c>, testmode=False)
  933 
  934     def run_with_cgi(self, testmode=False):
  935         return pesto.run_with_cgi(self.wsgiapp(testmode))
  936 
  937 
global pesto = <module 'pesto' from '/usr/www/users/stlpartn/_v...-packages/pesto-12-py2.6.egg/pesto/__init__.pyc'>, pesto.run_with_cgi = <function run_with_cgi at 0x28b739cc>, self = <stl.registration.FormHandler object at 0x28d10e6c>, self.wsgiapp = <bound method FormHandler.wsgiapp of <stl.registration.FormHandler object at 0x28d10e6c>>, testmode = False
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/pesto-12-py2.6.egg/pesto/wsgiutils.py in run_with_cgi(application=<function sessionmanager_middleware at 0x28d13614>, environ={'DOCUMENT_ROOT': '/usr/www/users/stlpartn/stlpartners.com', 'GATEWAY_INTERFACE': 'CGI/1.1', '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', 'HTTP_HOST': 'stlpartners.com', 'HTTP_PRAGMA': 'no-cache', ...})
  669     result = application(environ, start_response)
  670     try:
  671         for data in result:
  672             if data:    # don't send headers until body appears
  673                 write(data)
data undefined, result = <pesto.wsgiutils.ClosingIterator object at 0x28d1494c>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/pesto-12-py2.6.egg/pesto/wsgiutils.py in next(self=<pesto.wsgiutils.ClosingIterator object at 0x28d1494c>)
  996         Return the next item from ``iterator``
  997         """
  998         return self._next()
  999 
 1000     def close(self):
self = <pesto.wsgiutils.ClosingIterator object at 0x28d1494c>, self._next = <bound method PestoWSGIApplication.next of <pesto.core.PestoWSGIApplication object at 0x28d1496c>>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/pesto-12-py2.6.egg/pesto/core.py in next(self=<pesto.core.PestoWSGIApplication object at 0x28d1496c>)
   87         if self._content_iter is None:
   88             try:
   89                 response = self._pesto_app(self.request, *self._app_args, **self._app_kwargs)
   90                 self._content_iter = response(self.environ, self.start_response)
   91             except RequestParseError, e:
global response = <module 'pesto.response' from '/usr/www/users/st...-packages/pesto-12-py2.6.egg/pesto/response.pyc'>, self = <pesto.core.PestoWSGIApplication object at 0x28d1496c>, self._pesto_app = <function form_handler at 0x28d1325c>, self.request = <pesto.request.Request object at 0x28d1492c>, self._app_args = (), self._app_kwargs = {}
 /usr/www/users/stlpartn/stl/utils.py in decorated(*args=(<pesto.request.Request object at 0x28d1492c>,), **kwargs={})
  648                 return result
  649             return Response(
  650                 content = [result.render('xhtml')],
  651                 **kwargs
  652             )
content undefined, result = <genshi.core.Stream object at 0x28d1c38c>, result.render = <bound method Stream.render of <genshi.core.Stream object at 0x28d1c38c>>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/core.py in render(self=<genshi.core.Stream object at 0x28d1c38c>, method='xhtml', encoding='utf-8', out=None, **kwargs={})
  177             method = self.serializer or 'xml'
  178         generator = self.serialize(method=method, **kwargs)
  179         return encode(generator, method=method, encoding=encoding, out=out)
  180 
  181     def select(self, path, namespaces=None, variables=None):
encode = <function encode at 0x28d3cd84>, generator = <generator object __call__ at 0x28da2e8c>, method = 'xhtml', encoding = 'utf-8', out = None
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/output.py in encode(iterator=<generator object __call__ at 0x28da2e8c>, method='xhtml', encoding='utf-8', out=None)
   58         _encode = lambda string: string
   59     if out is None:
   60         return _encode(u''.join(list(iterator)))
   61     for chunk in iterator:
   62         out.write(_encode(chunk))
_encode = <function <lambda> at 0x28d13764>, u''.join undefined, builtin list = <type 'list'>, iterator = <generator object __call__ at 0x28da2e8c>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/output.py in __call__(self=<genshi.output.XHTMLSerializer object at 0x290b4d4c>, stream=<generator object __call__ at 0x28dabe14>)
  309         for filter_ in self.filters:
  310             stream = filter_(stream)
  311         for kind, data, pos in stream:
  312 
  313             if kind is START or kind is EMPTY:
kind = 'START', data = (u'label', Attrs()), pos = (u'base_report_form.html', 497, 18), stream = <generator object __call__ at 0x28dabe14>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/output.py in __call__(self=<genshi.output.NamespaceFlattener object at 0x2904af8c>, stream=<generator object __call__ at 0x28dabc84>)
  590         _gen_prefix = _gen_prefix().next
  591 
  592         for kind, data, pos in stream:
  593 
  594             if kind is START or kind is EMPTY:
kind = 'START', data = (QName(u'http://www.w3.org/1999/xhtml}label'), Attrs()), pos = (u'base_report_form.html', 497, 18), stream = <generator object __call__ at 0x28dabc84>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/output.py in __call__(self=<genshi.output.WhitespaceFilter object at 0x290b4d2c>, stream=<generator object __call__ at 0x28dab07c>, ctxt=None, space=QName(u'http://www.w3.org/XML/1998/namespace}space'), trim_trailing_space=<built-in method sub of _sre.SRE_Pattern object at 0x28d23740>, collapse_lines=<built-in method sub of _sre.SRE_Pattern object at 0x290aec38>)
  696         push_text = textbuf.append
  697         pop_text = textbuf.pop
  698         for kind, data, pos in chain(stream, [(None, None, None)]):
  699 
  700             if kind is TEXT:
kind = 'TEXT', data = u'\n ', pos = (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1), global chain = <type 'itertools.chain'>, stream = <generator object __call__ at 0x28dab07c>, builtin None = None
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/output.py in __call__(self=<genshi.output.EmptyTagFilter object at 0x290a4e0c>, stream=<generator object _ensure at 0x28b7975c>)
  530     def __call__(self, stream):
  531         prev = (None, None, None)
  532         for ev in stream:
  533             if prev[0] is START:
  534                 if ev[0] is END:
ev = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object _ensure at 0x28b7975c>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/core.py in _ensure(stream=<generator object _ensure at 0x28d2f7ac>)
  281     # unchanged
  282     yield event
  283     for event in stream:
  284         yield event
  285 
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object _ensure at 0x28d2f7ac>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/core.py in _ensure(stream=<generator object __call__ at 0x28d2f784>)
  281     # unchanged
  282     yield event
  283     for event in stream:
  284         yield event
  285 
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object __call__ at 0x28d2f784>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/filters/html.py in __call__(self=<genshi.filters.html.HTMLFormFiller object at 0x28d1c32c>, stream=<genshi.core.Stream object at 0x28d1c22c>)
   75         no_option_value = False
   76 
   77         for kind, data, pos in stream:
   78 
   79             if kind is START:
kind = 'TEXT', data = u'\n ', pos = (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1), stream = <genshi.core.Stream object at 0x28d1c22c>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _include(self=<MarkupTemplate "register-form.html">, stream=<generator object _match at 0x28d2f70c>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={})
  580                     tmpl = self.loader.load(href, relative_to=event[2][0],
  581                                             cls=cls or self.__class__)
  582                     for event in tmpl.generate(ctxt, **vars):
  583                         yield event
  584                 except TemplateNotFound:
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), tmpl = <MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, tmpl.generate = <bound method MarkupTemplate.generate of <Markup...tp://stlpartners.com/telco2-adfunded/index.php">>, ctxt = [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], vars = {}
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _include(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=<generator object _match at 0x2910b194>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={})
  567         from genshi.template.loader import TemplateNotFound
  568 
  569         for event in stream:
  570             if event[0] is INCLUDE:
  571                 href, cls, fallback = event[1]
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object _match at 0x2910b194>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/markup.py in _match(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=<generator object _exec at 0x2910b1bc>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], start=0, end=None, **vars={'select': <function select at 0x2911e41c>})
  296                                     ctxt, **vars),
  297                                 ctxt, **vars),
  298                             ctxt, start=idx + 1, **vars):
  299                         yield event
  300 
ctxt = [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], start = 0, idx = 1, vars = {'select': <function select at 0x2911e41c>}
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/markup.py in _match(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=<generator object _exec at 0x2910bc84>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], start=2, end=None, **vars={'select': <function select at 0x2911e684>})
  243                     break
  244 
  245         for event in stream:
  246 
  247             # We (currently) only care about start and end events for matching
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object _exec at 0x2910bc84>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _exec(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=<generator object _eval at 0x2910bb44>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={'select': <function select at 0x2911e41c>})
  541     def _exec(self, stream, ctxt, **vars):
  542         """Internal stream filter that executes Python code blocks."""
  543         for event in stream:
  544             if event[0] is EXEC:
  545                 _exec_suite(event[1], ctxt, **vars)
event = ('TEXT', u'\n ', (u'/usr/www/users/stlpartn/templates/base_report_form.html', 497, -1)), stream = <generator object _eval at 0x2910bb44>
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _eval(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=<generator object _flatten at 0x2910b0cc>, ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={'select': <function select at 0x2911e41c>})
  508                         for subkind, subdata, subpos in self._eval(substream,
  509                                                                    ctxt,
  510                                                                    **vars):
  511                             if subkind is TEXT:
  512                                 values.append(subdata)
vars = {'select': <function select at 0x2911e41c>}
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _eval(self=<MarkupTemplate "http://stlpartners.com/telco2-adfunded/index.php">, stream=[('EXPR', Expression(u'price.code'), (u'/usr/www/users/stlpartn/templates/base_report_form.html', 498, 20))], ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={'select': <function select at 0x2911e41c>})
  518 
  519             elif kind is EXPR:
  520                 result = _eval_expr(data, ctxt, **vars)
  521                 if result is not None:
  522                     # First check for a string, otherwise the iterable test
result undefined, global _eval_expr = <function _eval_expr at 0x28910cdc>, data = Expression(u'price.code'), ctxt = [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], vars = {'select': <function select at 0x2911e41c>}
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/base.py in _eval_expr(expr=Expression(u'price.code'), ctxt=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], **vars={'select': <function select at 0x2911e41c>})
  284     if vars:
  285         ctxt.push(vars)
  286     retval = expr.evaluate(ctxt)
  287     if vars:
  288         ctxt.pop()
retval undefined, expr = Expression(u'price.code'), expr.evaluate = <bound method Expression.evaluate of Expression(u'price.code')>, ctxt = [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}]
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/eval.py in evaluate(self=Expression(u'price.code'), data=[{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}])
  178         __traceback_hide__ = 'before_and_this'
  179         _globals = self._globals(data)
  180         return eval(self.code, _globals, {'__data__': data})
  181 
  182 
builtin eval = <built-in function eval>, self = Expression(u'price.code'), self.code = <code object <Expression u'price.code'> at 0x290...partn/templates/base_report_form.html", line 498>, _globals = {'UndefinedError': <class 'genshi.template.eval.UndefinedError'>, '__builtins__': {'ArithmeticError': <type 'exceptions.ArithmeticError'>, 'AssertionError': <type 'exceptions.AssertionError'>, 'AttributeError': <type 'exceptions.AttributeError'>, 'BaseException': <type 'exceptions.BaseException'>, 'BufferError': <type 'exceptions.BufferError'>, 'BytesWarning': <type 'exceptions.BytesWarning'>, 'DeprecationWarning': <type 'exceptions.DeprecationWarning'>, 'EOFError': <type 'exceptions.EOFError'>, 'Ellipsis': Ellipsis, 'EnvironmentError': <type 'exceptions.EnvironmentError'>, ...}, '__data__': [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}], '_lookup_attr': <bound method type.lookup_attr of <class 'genshi.template.eval.StrictLookup'>>, '_lookup_item': <bound method type.lookup_item of <class 'genshi.template.eval.StrictLookup'>>, '_lookup_name': <bound method type.lookup_name of <class 'genshi.template.eval.StrictLookup'>>, '_star_import_patch': <function _star_import_patch at 0x2899d9cc>}, data = [{'select': <function select at 0x2911e41c>}, {'...uote_plus': <function quote_plus at 0x284ab33c>}]
 /usr/www/users/stlpartn/templates/base_report_form.html in ()
  496               <p py:for="ix, price in enumerate(pricelist)">
  497                   <label>
  498                     <input type="radio" name="pricing_option" value="${price.code}" checked="${1 if ix == 0 else None}"/>
  499                     ${price.label}<br/>
  500                     <py:choose test="">
builtin input = <built-in function input>, builtin type = <type 'type'>, name undefined, value undefined, checked undefined
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/eval.py in lookup_attr(cls=<class 'genshi.template.eval.StrictLookup'>, obj='Corporate Licence', key='code')
  319                     val = obj[key]
  320                 except (KeyError, TypeError):
  321                     val = cls.undefined(key, owner=obj)
  322         return val
  323     lookup_attr = classmethod(lookup_attr)
val undefined, cls = <class 'genshi.template.eval.StrictLookup'>, cls.undefined = <bound method type.undefined of <class 'genshi.template.eval.StrictLookup'>>, key = 'code', owner undefined, obj = 'Corporate Licence'
 /usr/www/users/stlpartn/_virtualenv/lib/python2.6/site-packages/Genshi-0.5.1-py2.6-freebsd-7.2-STABLE-i386.egg/genshi/template/eval.py in undefined(cls=<class 'genshi.template.eval.StrictLookup'>, key='code', owner='Corporate Licence')
  403         """Raise an ``UndefinedError`` immediately."""
  404         __traceback_hide__ = True
  405         raise UndefinedError(key, owner=owner)
  406     undefined = classmethod(undefined)
  407 
global UndefinedError = <class 'genshi.template.eval.UndefinedError'>, key = 'code', owner = 'Corporate Licence'

<class 'genshi.template.eval.UndefinedError'>: 'Corporate Licence' has no member named "code"
      args = ('\'Corporate Licence\' has no member named "code"',)
      filename = '<string>'
      lineno = -1
      message = '\'Corporate Licence\' has no member named "code"'
      msg = '\'Corporate Licence\' has no member named "code"'
      offset = -1