Slightly faster _tojson_filter.

This commit is contained in:
florentx 2010-04-20 18:44:54 +02:00
parent 3c821a0fa4
commit 75057bb411

View file

@ -49,8 +49,7 @@ except (ImportError, AttributeError):
# figure out if simplejson escapes slashes. This behaviour was changed # figure out if simplejson escapes slashes. This behaviour was changed
# from one version to another without reason. # from one version to another without reason.
if json_available: _json_escapes_slashes = json_available and '\\/' in json.dumps('/')
_json_escapes_slashes = '\\/' in json.dumps('/')
class Request(RequestBase): class Request(RequestBase):
@ -273,14 +272,14 @@ def _get_package_path(name):
return os.getcwd() return os.getcwd()
def _tojson_filter(string, *args, **kwargs): if not _json_escapes_slashes:
"""Calls dumps for the template engine, escaping Slashes properly.""" def _tojson_filter(string, *args, **kwargs):
if __debug__: """Calls dumps for the template engine, escaping slashes properly."""
_assert_have_json() if __debug__:
rv = json.dumps(string, *args, **kwargs) _assert_have_json()
if not _json_escapes_slashes: return json.dumps(string, *args, **kwargs).replace('/', '\\/')
rv = rv.replace('/', '\\/') else:
return rv _tojson_filter = json.dumps
class Flask(object): class Flask(object):