| Index: third_party/google-endpoints/future/backports/html/__init__.py
|
| diff --git a/third_party/google-endpoints/future/backports/html/__init__.py b/third_party/google-endpoints/future/backports/html/__init__.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..837afce1ba7157bc5fe27c84a044dc34e791ead6
|
| --- /dev/null
|
| +++ b/third_party/google-endpoints/future/backports/html/__init__.py
|
| @@ -0,0 +1,28 @@
|
| +"""
|
| +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)
|
| +
|
|
|