@@ -71,19 +71,15 @@ def iter_resp_lines(resp):
7171
7272 # Split by newline (safe for utf-8 because multi-byte sequences cannot contain the newline byte)
7373 next_newline = buffer .find (b'\n ' )
74- last_was_empty = False # Set empty-line flag
7574 while next_newline != - 1 :
7675 # Convert bytes to a valid utf-8 string, replacing any invalid utf-8 with the '�' character
7776 line = buffer [:next_newline ].decode (
7877 "utf-8" , errors = "replace" )
7978 buffer = buffer [next_newline + 1 :]
8079 if line :
8180 yield line
82- last_was_empty = False # Reset empty-line flag
8381 else :
84- if not last_was_empty :
85- yield '' # Only print one empty line
86- last_was_empty = True # Mark that we handled an empty line
82+ yield '' # Only print one empty line
8783 next_newline = buffer .find (b'\n ' )
8884
8985
@@ -186,7 +182,6 @@ def stream(self, func, *args, **kwargs):
186182 while True :
187183 resp = func (* args , ** kwargs )
188184 try :
189- last_was_empty = False # Set empty line false
190185 for line in iter_resp_lines (resp ):
191186 # unmarshal when we are receiving events from watch,
192187 # return raw string when we are streaming log
@@ -212,10 +207,8 @@ def stream(self, func, *args, **kwargs):
212207 else :
213208 if line :
214209 yield line # Normal non-empty line
215- last_was_empty = False
216- elif not last_was_empty :
210+ else :
217211 yield '' # Only yield one empty line
218- last_was_empty = True
219212 if self ._stop :
220213 break
221214 finally :
0 commit comments