From 0edf0a0e3a8b0f3e8309822044631fe7864d3066 Mon Sep 17 00:00:00 2001 From: Jeff Widman Date: Mon, 25 Jan 2016 15:02:27 -0800 Subject: [PATCH] Cleanup jsonify() function Cleanup some leftover stuff from #1671. PEP8 spacing, args/kwargs don't need to be converted to list/dict, and Sphinx formatting. --- CHANGES | 2 +- flask/json.py | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/CHANGES b/CHANGES index 41b054d7..0337ec47 100644 --- a/CHANGES +++ b/CHANGES @@ -10,7 +10,7 @@ Version 1.0 - Added support to serializing top-level arrays to :func:`flask.jsonify`. This introduces a security risk in ancient browsers. See - :ref:`json_security` for details. + :ref:`json-security` for details. - Added before_render_template signal. - Added `**kwargs` to :meth:`flask.Test.test_client` to support passing additional keyword arguments to the constructor of diff --git a/flask/json.py b/flask/json.py index 9bcaf72c..a8eb5922 100644 --- a/flask/json.py +++ b/flask/json.py @@ -211,9 +211,9 @@ def jsonify(*args, **kwargs): 1. Single argument: Passed straight through to :func:`dumps`. 2. Multiple arguments: Converted to an array before being passed to - :func:`dumps`. + :func:`dumps`. 3. Multiple keyword arguments: Converted to a dict before being passed to - :func:`dumps`. + :func:`dumps`. 4. Both args and kwargs: Behavior undefined and will throw an exception. Example usage:: @@ -237,7 +237,7 @@ def jsonify(*args, **kwargs): .. versionchanged:: 1.0 Added support for serializing top-level arrays. This introduces a - security risk in ancient browsers. See :ref:`json_security` for details. + security risk in ancient browsers. See :ref:`json-security` for details. This function's response will be pretty printed if it was not requested with ``X-Requested-With: XMLHttpRequest`` to simplify debugging unless @@ -260,12 +260,10 @@ def jsonify(*args, **kwargs): raise TypeError( "jsonify() behavior undefined when passed both args and kwargs" ) - elif len(args) == 1: # single args are passed directly to dumps() + elif len(args) == 1: # single args are passed directly to dumps() data = args[0] - elif args: # convert multiple args into an array - data = list(args) - else: # convert kwargs to a dict - data = dict(kwargs) + else: + data = args or kwargs # Note that we add '\n' to end of response # (see https://github.com/mitsuhiko/flask/pull/1262)