Discussion:
KeyError, genshi/template/directives.py, line 130
Eli Stevens (Gmail)
2013-11-06 07:40:49 UTC
Permalink
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
--
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+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/genshi.
For more options, visit https://groups.google.com/groups/opt_out.
Simon Cross
2013-11-06 08:59:24 UTC
Permalink
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
--
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+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/genshi.
For more options, visit https://groups.google.com/groups/opt_out.
Eli Stevens (Gmail)
2013-11-06 16:39:29 UTC
Permalink
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
Post by Simon Cross
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
--
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
Visit this group at http://groups.google.com/group/genshi.
For more options, visit https://groups.google.com/groups/opt_out.
--
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+***@googlegroups.com.
To post to this group, send email to ***@googlegroups.com.
Visit this group at http://groups.google.com/group/genshi.
For more options, visit https://groups.google.com/groups/opt_out.
Loading...