Wie Zeichen in Pango Markup zu entkommen?
Frage
Mein Programm hat eine gtk.TreeView
, die eine gtk.ListStore
anzeigt. Die gtk.ListStore
enthält Strings wie folgt aus:
"<span size='medium'><b>"+site_title+"</b></span>"+"\n"+URL
Wo URL
ist (natürlich) eine URL-Zeichenfolge. Manchmal gibt es Zeichen in URL
dass Ursache pango zum Scheitern verurteilt das Markup zu analysieren.
Gibt es eine Möglichkeit URL
als Ganzes zu entkommen, so dass pango wird es einfach ignorieren, so wird es buchstäblich angezeigt werden? Wenn nicht, wie soll ich „Flucht“ Sonderzeichen in URLs?
Lösung
Sie müssen die Werte entkommen. Ich bin mir nicht sicher, was genau Format Pango erfordert, aber es sieht aus wie HTML und das cgi.escape Funktion kann alles, was Sie benötigen.
import cgi
print "<span size='medium'><b>%s</b></span>\n%s" %
(cgi.escape(site_title), cgi.escape(URL))
Andere Tipps
glib.markup_escape_text
kann einen kanonischen Ansatz sein, wenn GTK verwendet wird.