Implements a XML/HTML/XHTML Markup safe string for Python
Project description
Implements a unicode subclass that supports HTML strings:
>>> from markupsafe import Markup, escape >>> escape("<script>alert(document.cookie);</script>") Markup(u'<script>alert(document.cookie);</script>') >>> tmpl = Markup("<em>%s</em>") >>> tmpl % "Peter > Lustig" Markup(u'<em>Peter > Lustig</em>')
If you want to make an object unicode that is not yet unicode but don’t want to lose the taint information, you can use the soft_unicode function:
>>> from markupsafe import soft_unicode >>> soft_unicode(42) u'42' >>> soft_unicode(Markup('foo')) Markup(u'foo')
Objects can customize their HTML markup equivalent by overriding the __html__ function:
>>> class Foo(object): ... def __html__(self): ... return '<strong>Nice</strong>' ... >>> escape(Foo()) Markup(u'<strong>Nice</strong>') >>> Markup(Foo()) Markup(u'<strong>Nice</strong>')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
MarkupSafe-0.9.2.tar.gz
(10.5 kB
view hashes)