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