Staging
v0.5.1
https://github.com/python/cpython
Revision d08cec6d62394c2b5cc0986a59354fc09868ec1e authored by Georg Brandl on 26 June 2012, 07:43:40 UTC, committed by Georg Brandl on 26 June 2012, 07:43:40 UTC
1 parent dba3b5c
Raw File
Tip revision: d08cec6d62394c2b5cc0986a59354fc09868ec1e authored by Georg Brandl on 26 June 2012, 07:43:40 UTC
Bump version to 3.3.0b1.
Tip revision: d08cec6
__init__.py
"""
General functions for HTML manipulation.
"""


_escape_map = {ord('&'): '&amp;', ord('<'): '&lt;', ord('>'): '&gt;'}
_escape_map_full = {ord('&'): '&amp;', ord('<'): '&lt;', ord('>'): '&gt;',
                    ord('"'): '&quot;', ord('\''): '&#x27;'}

# NB: this is a candidate for a bytes/string polymorphic interface

def escape(s, quote=True):
    """
    Replace special characters "&", "<" and ">" to HTML-safe sequences.
    If the optional flag quote is true (the default), the quotation mark
    characters, both double quote (") and single quote (') characters are also
    translated.
    """
    if quote:
        return s.translate(_escape_map_full)
    return s.translate(_escape_map)
back to top