Come sfuggire caratteri in Pango markup?
Domanda
Il mio programma ha un gtk.TreeView
che mostra un gtk.ListStore
. Il gtk.ListStore
contiene stringhe in questo modo:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
Dove URL
è (ovviamente) una stringa URL. A volte ci sono personaggi in URL
che causano Pango a fallire per analizzare il markup.
C'è un modo per sfuggire URL
nel suo complesso in modo che Pango sarà solo ignorarlo quindi sarà visualizzata letteralmente? Se no, come devo "fuga" caratteri speciali negli URL?
Soluzione
Hai bisogno di fuggire i valori. Non sono sicuro di quale formato esatto Pango richiede, ma sembra che HTML e il funzione cgi.escape può essere tutto il necessario.
import cgi
print "<span size='medium'><b>%s</b></span>\n%s" %
(cgi.escape(site_title), cgi.escape(URL))
Altri suggerimenti
glib.markup_escape_text
può essere un approccio più canonica quando si utilizza GTK.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow