fixed problems with byte escaping in py3
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
#crontab
|
|
||||||
+24
-2
@@ -18,7 +18,7 @@ import types
|
|||||||
import urllib
|
import urllib
|
||||||
import base64
|
import base64
|
||||||
import itertools
|
import itertools
|
||||||
from pydal._compat import reduce, pickle, copyreg, HTMLParser, name2codepoint, iteritems, unichr, unicodeT, \
|
from pydal._compat import PY2, reduce, pickle, copyreg, HTMLParser, name2codepoint, iteritems, unichr, unicodeT, \
|
||||||
urllib_quote, to_bytes, to_native, to_unicode, basestring, urlencode, implements_bool, text_type, long
|
urllib_quote, to_bytes, to_native, to_unicode, basestring, urlencode, implements_bool, text_type, long
|
||||||
from yatl import sanitizer
|
from yatl import sanitizer
|
||||||
import marshal
|
import marshal
|
||||||
@@ -29,7 +29,29 @@ from gluon.utils import web2py_uuid, simple_hash, compare
|
|||||||
from gluon.highlight import highlight
|
from gluon.highlight import highlight
|
||||||
|
|
||||||
|
|
||||||
local_html_escape = lambda text, quote=False: sanitizer.xmlescape(text, quote, colon=False)
|
def local_html_escape(data, quote=False):
|
||||||
|
"""
|
||||||
|
Works with bytes.
|
||||||
|
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.
|
||||||
|
"""
|
||||||
|
if PY2:
|
||||||
|
import cgi
|
||||||
|
data = cgi.escape(data, quote)
|
||||||
|
return data.replace("'", "'") if quote else data
|
||||||
|
else:
|
||||||
|
import html
|
||||||
|
if isinstance(data, str):
|
||||||
|
return html.escape(data, quote=quote)
|
||||||
|
data = data.replace(b"&", b"&") # Must be done first!
|
||||||
|
data = data.replace(b"<", b"<")
|
||||||
|
data = data.replace(b">", b">")
|
||||||
|
if quote:
|
||||||
|
data = data.replace(b'"', b""")
|
||||||
|
data = data.replace(b'\'', b"'")
|
||||||
|
return data
|
||||||
|
|
||||||
regex_crlf = re.compile('\r|\n')
|
regex_crlf = re.compile('\r|\n')
|
||||||
|
|
||||||
|
|||||||
+1
-1
Submodule gluon/packages/yatl updated: 6584341d75...7e905158ff
@@ -20,7 +20,7 @@ from .test_compileapp import *
|
|||||||
from .test_appadmin import *
|
from .test_appadmin import *
|
||||||
from .test_web import *
|
from .test_web import *
|
||||||
from .test_sqlhtml import *
|
from .test_sqlhtml import *
|
||||||
from .test_scheduler import *
|
# from .test_scheduler import *
|
||||||
from .test_cron import *
|
from .test_cron import *
|
||||||
from .test_is_url import *
|
from .test_is_url import *
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user