from __future__ import absolute_import from future.utils import PY3 __future_module__ = True if PY3: from html import * else: # cgi.escape isn't good enough for the single Py3.3 html test to pass. # Define it inline here instead. From the Py3.4 stdlib. Note that the # html.escape() function from the Py3.3 stdlib is not suitable for use on # Py2.x. """ General functions for HTML manipulation. """ 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. """ s = s.replace("&", "&") # Must be done first! s = s.replace("<", "<") s = s.replace(">", ">") if quote: s = s.replace('"', """) s = s.replace('\'', "'") return s __all__ = ['escape']