@@ -259,6 +259,9 @@ def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
259259 tuple = tuple ,
260260 ):
261261
262+ if _indent is not None and not isinstance (_indent , str ):
263+ _indent = ' ' * _indent
264+
262265 def _iterencode_list (lst , _current_indent_level ):
263266 if not lst :
264267 yield '[]'
@@ -271,7 +274,7 @@ def _iterencode_list(lst, _current_indent_level):
271274 buf = '['
272275 if _indent is not None :
273276 _current_indent_level += 1
274- newline_indent = '\n ' + ( ' ' * ( _indent * _current_indent_level ))
277+ newline_indent = '\n ' + _indent * _current_indent_level
275278 separator = _item_separator + newline_indent
276279 buf += newline_indent
277280 else :
@@ -307,7 +310,7 @@ def _iterencode_list(lst, _current_indent_level):
307310 yield chunk
308311 if newline_indent is not None :
309312 _current_indent_level -= 1
310- yield '\n ' + ( ' ' * ( _indent * _current_indent_level ))
313+ yield '\n ' + _indent * _current_indent_level
311314 yield ']'
312315 if markers is not None :
313316 del markers [markerid ]
@@ -324,7 +327,7 @@ def _iterencode_dict(dct, _current_indent_level):
324327 yield '{'
325328 if _indent is not None :
326329 _current_indent_level += 1
327- newline_indent = '\n ' + ( ' ' * ( _indent * _current_indent_level ))
330+ newline_indent = '\n ' + _indent * _current_indent_level
328331 item_separator = _item_separator + newline_indent
329332 yield newline_indent
330333 else :
@@ -383,7 +386,7 @@ def _iterencode_dict(dct, _current_indent_level):
383386 yield chunk
384387 if newline_indent is not None :
385388 _current_indent_level -= 1
386- yield '\n ' + ( ' ' * ( _indent * _current_indent_level ))
389+ yield '\n ' + _indent * _current_indent_level
387390 yield '}'
388391 if markers is not None :
389392 del markers [markerid ]
0 commit comments