diff options
| author | Ezio Melotti <ezio.melotti@gmail.com> | 2012-11-18 14:06:54 +0200 |
|---|---|---|
| committer | Ezio Melotti <ezio.melotti@gmail.com> | 2012-11-18 14:06:54 +0200 |
| commit | 23e41c9686435a8a01da7fead079c783087ee5c5 (patch) | |
| tree | 0593cf00b74bcabb8cb52c2108750c2f80fa2c81 /Lib/json/encoder.py | |
| parent | 68a2b84e68c3fe3abaa1bae589e17bfbb13461c2 (diff) | |
| parent | e93555d91c4608e06e3058a42af0f2450c9dfd19 (diff) | |
| download | cpython-23e41c9686435a8a01da7fead079c783087ee5c5.tar.gz | |
#16306: merge with 3.3.
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 |
