clean up blueprint json support

add changelog for #1898
This commit is contained in:
David Lord 2017-04-24 10:09:50 -07:00
parent 74b3f7e04c
commit 46f83665ef
No known key found for this signature in database
GPG key ID: 7A1C87E3F5BC42A8
4 changed files with 30 additions and 17 deletions

View file

@ -92,13 +92,16 @@ class JSONDecoder(_json.JSONDecoder):
def _dump_arg_defaults(kwargs):
"""Inject default arguments for dump functions."""
if current_app:
bp = current_app.blueprints.get(request.blueprint,
None) if has_request_context() else None
kwargs.setdefault('cls',
bp.json_encoder if bp and bp.json_encoder
else current_app.json_encoder)
bp = current_app.blueprints.get(request.blueprint) if request else None
kwargs.setdefault(
'cls',
bp.json_encoder if bp and bp.json_encoder
else current_app.json_encoder
)
if not current_app.config['JSON_AS_ASCII']:
kwargs.setdefault('ensure_ascii', False)
kwargs.setdefault('sort_keys', current_app.config['JSON_SORT_KEYS'])
else:
kwargs.setdefault('sort_keys', True)
@ -108,11 +111,12 @@ def _dump_arg_defaults(kwargs):
def _load_arg_defaults(kwargs):
"""Inject default arguments for load functions."""
if current_app:
bp = current_app.blueprints.get(request.blueprint,
None) if has_request_context() else None
kwargs.setdefault('cls',
bp.json_decoder if bp and bp.json_decoder
else current_app.json_decoder)
bp = current_app.blueprints.get(request.blueprint) if request else None
kwargs.setdefault(
'cls',
bp.json_decoder if bp and bp.json_decoder
else current_app.json_decoder
)
else:
kwargs.setdefault('cls', JSONDecoder)