diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/future/backports/html/__init__.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/future/backports/html/__init__.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/future/backports/html/__init__.py b/.venv/lib/python3.12/site-packages/future/backports/html/__init__.py new file mode 100644 index 00000000..58e133fd --- /dev/null +++ b/.venv/lib/python3.12/site-packages/future/backports/html/__init__.py @@ -0,0 +1,27 @@ +""" +General functions for HTML manipulation, backported from Py3. + +Note that this uses Python 2.7 code with the corresponding Python 3 +module names and locations. +""" + +from __future__ import unicode_literals + + +_escape_map = {ord('&'): '&', ord('<'): '<', ord('>'): '>'} +_escape_map_full = {ord('&'): '&', ord('<'): '<', ord('>'): '>', + ord('"'): '"', ord('\''): '''} + +# 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. + """ + assert not isinstance(s, bytes), 'Pass a unicode string' + if quote: + return s.translate(_escape_map_full) + return s.translate(_escape_map) |