Mercurial > libervia-web
view libervia/server/html_tools.py @ 1413:326730dc35da
install: update minimal Brython version to 3.9.2 to have fixed elements's `children` implementation:
Before 3.9.2, Brython had an implementation of `children` hidding the DOM method, and
which was returning all elements (like childNodes). 3.9.2 fixes it.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Apr 2021 16:36:26 +0200 |
parents | 822bd0139769 |
children | 106bae41f5c8 |
line wrap: on
line source
#!/usr/bin/env python3 # Libervia: a Salut à Toi frontend # Copyright (C) 2011-2021 Jérôme Poisson <goffi@goffi.org> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. def sanitizeHtml(text): """Sanitize HTML by escaping everything""" # this code comes from official python wiki: http://wiki.python.org/moin/EscapingHtml html_escape_table = { "&": "&", '"': """, "'": "'", ">": ">", "<": "<", } return "".join(html_escape_table.get(c, c) for c in text) def convertNewLinesToXHTML(text): return text.replace("\n", "<br/>")