Hi:
This patch broke my rss.
When update web2py 2.9.5 to 2.9.11 the RSS produces an encoding error.
Ticket ID
>
> 192.168.0.109.2014-11-18.08-43-24.a4e11dac-b0ab-49b8-83b7-105ea1ba5ad2
> <type 'exceptions.UnicodeEncodeError'> 'ascii' codec can't encode
> character u'\xf3' in position 23: ordinal not in range(128) Version
> web2py™ Version 2.9.11-stable+timestamp.2014.09.15.23.35.11 Python Python
> 2.7.3: /usr/bin/python (prefix: /usr) Traceback
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
>
> Traceback (most recent call last):
> File "/home/www-data/web2py/gluon/restricted.py", line 224, in restricted
> exec ccode in environment
> File "/home/www-data/web2py/applications/mp/modules/plugins/feed/feed.rss",
> line 12, in <module>
> from gluon.serializers import rss
> File "/home/www-data/web2py/gluon/serializers.py", line 172, in rss
> description=safestr(feed,'description'),
> File "/home/www-data/web2py/gluon/serializers.py", line 167, in safestr
> return str(obj[key]).encode('utf-8', 'replace') if key in obj else default
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position
> 23: ordinal not in range(128)
>
> Error snapshot [image: help]
> <https://192.168.0.5/admin/default/ticket/mp/192.168.0.109.2014-11-18.08-43-24.a4e11dac-b0ab-49b8-83b7-105ea1ba5ad2#>
>
>
> <type 'exceptions.UnicodeEncodeError'>('ascii' codec can't encode
> character u'\xf3' in position 23: ordinal not in range(128))
>
when restore web2py/gluon/serializers.py to version 2.9.5 work fine
My python version is 2.7.3
will relate to this?
https://groups.google.com/forum/#!topic/web2py/8ZwVMKS69Sg
My feed.rss page is:
dd=dict(title="my feed",
link=u"feed.example.com",
description="carácter acentuado".decode('utf-8'),
entries=[
dict(title="my feed",
link=u"http://feed.example.com",
description="my first feed")
])
from gluon.serializers import rss
response.write(rss(dd), escape=False)
response.headers['Content-Type']='application/rss+xml'
El miércoles, 10 de septiembre de 2014 15:27:07 UTC+2, Massimo Di Pierro
escribió:
>
> Sorry for the trouble here:
>
> I pushed this to trunk:
> def rss(feed):
> if not 'entries' in feed and 'items' in feed:
> feed['entries'] = feed['items']
> def safestr(obj, key, default=''):
> return str(obj[key]).encode('utf-8', 'replace') if key in obj else
> default
>
> now = datetime.datetime.now()
> rss = rss2.RSS2(title=safestr(feed,'title'),
> link=safestr(feed,'link'),
> description=safestr(feed,'description'),
> lastBuildDate=feed.get('created_on', now),
> items=[rss2.RSSItem(
> title=safestr(entry,'title','(notitle)'),
> link=safestr(entry,'link'),
> description=safestr(entry,'description'),
> pubDate=entry.get('created_on', now)
> ) for entry in feed.get('entries', [])])
> return rss.to_xml(encoding='utf-8')
>
> please let me know if this fixes it. If not, please send me more details
> about the feed you are trying to read.
>
>
>
On Tuesday, 9 September 2014 00:45:25 UTC-5, Капылов Данил wrote:
>>
>> Does not work. :-)
>>
>> Error ticket for "welcome"Ticket ID
>>
>> 127.0.0.1.2014-09-09.11-33-31.6f78e65a-5d28-410e-9111-55ded191b520
>> <type 'exceptions.AttributeError'> 'NoneType' object has no attribute
>> 'encode'Версияweb2py™Version 2.9.9-stable+timestamp.2014.09.08.13.16.54
>> PythonPython 2.7.6: C:\Python27\python.exe (prefix: C:\Python27)Traceback
>>
>> 1.
>> 2.
>> 3.
>> 4.
>> 5.
>> 6.
>> 7.
>> 8.
>> 9.
>>
>> Traceback (most recent call last):
>> File
>> "C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\gluon\restricted.py",
>> line 221, in restricted
>> exec ccode in environment
>> File
>> "C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\applications\welcome\views\generic.rss",
>> line 10, in <module>
>> from gluon.serializers import rss}}{{=XML(rss(response._vars))}}
>> File
>> "C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\gluon\serializers.py",
>> line 168, in rss
>> link=str((feed.get('link') or '').encode('utf-8', 'replace')),
>> AttributeError: 'NoneType' object has no attribute 'encode'
>>
>> Error snapshot [image: help]
>> <http://127.0.0.1:8000/admin/default/ticket/welcome/127.0.0.1.2014-09-09.11-33-31.6f78e65a-5d28-410e-9111-55ded191b520#>
>>
>> <type 'exceptions.AttributeError'>('NoneType' object has no attribute
>> 'encode')
>>
>> inspect attributes
>> Frames
>>
>> -
>>
>> *File
>>
>> C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\gluon\restricted.py
>>
>> in restricted at line 221* код аргументы переменные
>> -
>>
>> *File
>>
>> C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\applications\welcome\views\generic.rss
>>
>> in <module> at line 10* код аргументы переменные
>> -
>>
>> *File
>>
>> C:\Users\�����\Documents\MEGAsync\Web2pyProject\Ad\web2py\gluon\serializers.py
>>
>> in rss at line 168* код аргументы переменные
>> Function argument list
>>
>> (feed={'message': <lazyT 'Hello World'>})
>> Code listing
>>
>> 163.
>> 164.
>> 165.
>> 166.
>> 167.
>> 168.
>>
>> 169.
>> 170.
>> 171.<span style="color:
>>
>>
>> ...
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.