KeyError, genshi/template/directives.py, line 130

26 views
Skip to first unread message

Eli Stevens (Gmail)

unread,
Nov 6, 2013, 2:40:49 AM11/6/13
to gen...@googlegroups.com
I'm getting the following when trying to render a template.  Any suggestions on where I can look to figure out what is going wrong?

  File "/home/elis/edit/.../mycontroller.py", line 39, in attachmentList
    return render_response('mytemplate.html', context)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/flaskext/genshi.py", line 278, in render_response
    template = render_template(template, context, method, string, filter)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/flaskext/genshi.py", line 266, in render_template
    return template.render(**render_args)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/core.py", line 183, in render
    return encode(generator, method=method, encoding=encoding, out=out)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 57, in encode
    return _encode(''.join(list(iterator)))
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 470, in __call__
    for kind, data, _ in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 826, in __call__
    for kind, data, pos in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 670, in __call__
    for kind, data, pos in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 771, in __call__
    for kind, data, pos in chain(stream, [(None, None, None)]):
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/output.py", line 586, in __call__
    for ev in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/core.py", line 288, in _ensure
    for event in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/base.py", line 605, in _include
    for event in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/markup.py", line 362, in _match
    content = list(content)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/base.py", line 605, in _include
    for event in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/markup.py", line 316, in _strip
    event = next()
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/base.py", line 545, in _flatten
    for kind, data, pos in stream:
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/directives.py", line 367, in __call__
    assign(scope, item)
  File "/home/elis/venv/m3d_dev/lib/python2.7/site-packages/genshi/template/directives.py", line 130, in _assign
    _assign(data, value[idx], names[idx])
KeyError: 0

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import genshi
>>> genshi.__version__
'0.6'

Thanks for any pointers,
Eli

Simon Cross

unread,
Nov 6, 2013, 3:59:24 AM11/6/13
to gen...@googlegroups.com
Hi

It looks like your template has an assingment that is unpacking
something that can't be unpacked, e.g.

```
from genshi.template import MarkupTemplate
m = MarkupTemplate("""<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/"><div py:for="x, y in
l"></div></html>""")
m.generate(l=[{}]).render()
```

Sorry the error message isn't great. Hope this helps.

Schiavo
Simon

Eli Stevens (Gmail)

unread,
Nov 6, 2013, 11:39:29 AM11/6/13
to gen...@googlegroups.com
Helped a ton, thank you!  I was able to figure out what I had been messing up by looking for unpacking (much faster than commenting out lines at random until the page works again ;).

Cheers,
Eli


Simon

--
You received this message because you are subscribed to the Google Groups "Genshi" group.
To unsubscribe from this group and stop receiving emails from it, send an email to genshi+un...@googlegroups.com.
To post to this group, send email to gen...@googlegroups.com.
Visit this group at http://groups.google.com/group/genshi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages