MarkupSafe
==========
Implements a unicode subclass that supports HTML strings:
>>> from markupsafe import Markup, escape
>>> escape("")
Markup(u'<script>alert(document.cookie);</script>')
>>> tmpl = Markup("%s")
>>> tmpl % "Peter > Lustig"
Markup(u'Peter > Lustig')
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 'Nice'
...
>>> escape(Foo())
Markup(u'Nice')
>>> Markup(Foo())
Markup(u'Nice')