summaryrefslogtreecommitdiffstats
path: root/Lib/json
diff options
context:
space:
mode:
authorPhilip Jenvey <pjenvey@underboss.org>2012-10-01 22:34:31 (GMT)
committerPhilip Jenvey <pjenvey@underboss.org>2012-10-01 22:34:31 (GMT)
commitfd0d3e5d25cf9dcb751a329cf390388e0dbd8da2 (patch)
tree2a0f83ce2ce3a894d27a6330ecb731bb0fc6fc76 /Lib/json
parent8bfcf51b5d0ca5a0bbd7045c318f5aa31e5f7de8 (diff)
downloadcpython-fd0d3e5d25cf9dcb751a329cf390388e0dbd8da2.zip
cpython-fd0d3e5d25cf9dcb751a329cf390388e0dbd8da2.tar.gz
cpython-fd0d3e5d25cf9dcb751a329cf390388e0dbd8da2.tar.bz2
more yield from
patch by Serhiy Storchaka
Diffstat (limited to 'Lib/json')
-rw-r--r--Lib/json/encoder.py15
1 files changed, 5 insertions, 10 deletions
diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py
index 75b7f49..ba57c2c 100644
--- a/Lib/json/encoder.py
+++ b/Lib/json/encoder.py
@@ -305,8 +305,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
chunks = _iterencode_dict(value, _current_indent_level)
else:
chunks = _iterencode(value, _current_indent_level)
- for chunk in chunks:
- yield chunk
+ yield from chunks
if newline_indent is not None:
_current_indent_level -= 1
yield '\n' + _indent * _current_indent_level
@@ -381,8 +380,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
chunks = _iterencode_dict(value, _current_indent_level)
else:
chunks = _iterencode(value, _current_indent_level)
- for chunk in chunks:
- yield chunk
+ yield from chunks
if newline_indent is not None:
_current_indent_level -= 1
yield '\n' + _indent * _current_indent_level
@@ -404,11 +402,9 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
elif isinstance(o, float):
yield _floatstr(o)
elif isinstance(o, (list, tuple)):
- for chunk in _iterencode_list(o, _current_indent_level):
- yield chunk
+ yield from _iterencode_list(o, _current_indent_level)
elif isinstance(o, dict):
- for chunk in _iterencode_dict(o, _current_indent_level):
- yield chunk
+ yield from _iterencode_dict(o, _current_indent_level)
else:
if markers is not None:
markerid = id(o)
@@ -416,8 +412,7 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
raise ValueError("Circular reference detected")
markers[markerid] = o
o = _default(o)
- for chunk in _iterencode(o, _current_indent_level):
- yield chunk
+ yield from _iterencode(o, _current_indent_level)
if markers is not None:
del markers[markerid]
return _iterencode