| """ |
| General functions for HTML manipulation. |
| """ |
| |
| |
| _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 |
| character (") is also translated. |
| """ |
| if quote: |
| return s.translate(_escape_map_full) |
| return s.translate(_escape_map) |