¿Cómo escapar caracteres en Pango marcado?
Pregunta
Mi programa tiene una gtk.TreeView
que muestra una gtk.ListStore
. El gtk.ListStore
contiene cadenas como esto:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
Cuando URL
es (obviamente) una cadena URL. A veces hay personajes de URL
que causan Pango a dejar de analizar el margen de beneficio.
¿Hay una manera de escapar URL
en su conjunto de manera que Pango ignorarlo por lo que se mostrará literalmente? Si no, ¿cómo debería "escapar" caracteres especiales en las URL?
Solución
Es necesario para escapar de los valores. No estoy seguro de qué formato exacto requiere Pango, pero parece que el HTML y el función cgi.escape puede ser todo lo que necesita.
import cgi
print "<span size='medium'><b>%s</b></span>\n%s" %
(cgi.escape(site_title), cgi.escape(URL))
Otros consejos
glib.markup_escape_text
puede ser un enfoque más canónica cuando se utiliza GTK.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow