diff options
author | Philip Jenvey <pjenvey@underboss.org> | 2012-10-01 15:34:31 -0700 |
---|---|---|
committer | Philip Jenvey <pjenvey@underboss.org> | 2012-10-01 15:34:31 -0700 |
commit | fd0d3e5d25cf9dcb751a329cf390388e0dbd8da2 (patch) | |
tree | 2a0f83ce2ce3a894d27a6330ecb731bb0fc6fc76 /Lib/json/encoder.py | |
parent | 8bfcf51b5d0ca5a0bbd7045c318f5aa31e5f7de8 (diff) | |
download | cpython-git-fd0d3e5d25cf9dcb751a329cf390388e0dbd8da2.tar.gz |
more yield from
patch by Serhiy Storchaka
Diffstat (limited to 'Lib/json/encoder.py')
-rw-r--r-- | Lib/json/encoder.py | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py index 75b7f494b3..ba57c2c25e 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 |