[pyar] Como no meter caracteres raros en el xml al crear un sitemap con django?

Emiliano Dalla Verde Marcozzi edvm en fedoraproject.org
Mar Jun 2 22:49:58 ART 2015


El 2 de junio de 2015, 22:25, Claudio Freire <klaussfreire en gmail.com>
escribió:

> 2015-06-02 21:13 GMT-03:00 Emiliano Dalla Verde Marcozzi
> <edvm en fedoraproject.org>:
> > Si no es "xml-able" estimo voy a ignorar la url y seguir con la
> siguiente.
> > Las preguntas son:
> > 1- Como puedo verificar si un dato es válido para meterlo en el xml?
>
> import xml.sax.saxutils
> url = xml.sax.saxutils.escape(url)
>
> No funciona con absolutamente todo, algunos caracteres de control
> ASCII pasan, así que también podrías usar translate para eliminar
> esos:
>
> xml.sax.saxutils.escape(url).translate(None, ''.join(map(chr,range(32))))
>
> Más o menos, obvio que no es perfecto lo de arriba, pero cubre bastante.


Genial!, Terminé utilizando .escape, que puede tomar un segundo argumento
'entities': https://docs.python.org/2/library/xml.sax.utils.html

ipdb> for x in map(chr, range(32)): entities[x] = ''
ipdb> xml.sax.saxutils.escape(url, entities)
u'http://...app/vendor/bayashi/product/dopvstar/version/0091'

Muchas gracias a todos!

-- 
Broken code @ https://github.com/edvm

<edvm en python.org.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150602/f7c8857a/attachment.html>


More information about the pyar mailing list