-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 12/15/2010 10:18 PM, Iain Duncan wrote:
> Not sure where I'm supposed to ask this now, here? Pyramid list?
> 
> I have  view with a chameleon template that contains utf-8 unicode special
> chars. It renders fine when rendered on it's own from a view. As soon as I
> wrap that view with a wrapper view, I get errors with the wrapper choking on
> the unicode.
> 
> My master views call method is like this:
> 
> def __call__(self):
>     tmpl_dict = {}
>     tmpl_dict['inner_content'] = self.request.wrapped_body
>     return tmpl_dict
> 
> 
> I get the following traceback ( snipped ):
> File
> "/home/jordans/Jordans/eggs/repoze.bfg-1.2.2-py2.6.egg/repoze/bfg/router.py",
> line 130, in __call__
> response = view_callable(context, request)
> File
> "/home/jordans/Jordans/eggs/repoze.bfg-1.2.2-py2.6.egg/repoze/bfg/configuration.py",
> line 1724, in _owrapped_view
> wrapper_viewname)
> File
> "/home/jordans/Jordans/eggs/repoze.bfg-1.2.2-py2.6.egg/repoze/bfg/view.py",
> line 90, in render_view_to_response
> return view(context, request)
> File
> "/home/jordans/Jordans/eggs/repoze.bfg-1.2.2-py2.6.egg/repoze/bfg/configuration.py",
> line 1663, in _bfg_class_view
> response = inst()
> File "/home/jordans/Jordans/jordans/views/master_view.py", line 22, in
> __call__
> tmpl_dict['inner_content'] = u"%s" % self.request.wrapped_body
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4090:
> ordinal not in range(128)
> 
> 
> Any clues?

The code in the traceback doesn't match the sample you showed above:
the 'wrapped_body' is an encoded string (WebOb responses always encode
the body with the supplied charset) which the view is trying to decode
(back?) to unicode without supplying the encoding.  The default encoding
used by WebOb is 'UTF-8', so I would try:

    def __call__(self):
        tmpl_dict = {}
        body = self.request.wrapped_body
        tmpl_dict['inner_content'] = body.decode('UTF-8')
        return tmpl_dict



Tres.
- -- 
===================================================================
Tres Seaver          +1 540-429-0999          tsea...@palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0KGHEACgkQ+gerLs4ltQ7FZQCgzIl5cIsJbt1viMO8KKAre97j
ne8An1T4tFdxXHTQzOcSJyWpP7hGiBcq
=Ty1s
-----END PGP SIGNATURE-----
_______________________________________________
Repoze-dev mailing list
Repoze-dev@lists.repoze.org
http://lists.repoze.org/listinfo/repoze-dev

Reply via email to