@@ -71,19 +71,15 @@ def iter_resp_lines(resp):
71
71
72
72
# Split by newline (safe for utf-8 because multi-byte sequences cannot contain the newline byte)
73
73
next_newline = buffer .find (b'\n ' )
74
- last_was_empty = False # Set empty-line flag
75
74
while next_newline != - 1 :
76
75
# Convert bytes to a valid utf-8 string, replacing any invalid utf-8 with the '�' character
77
76
line = buffer [:next_newline ].decode (
78
77
"utf-8" , errors = "replace" )
79
78
buffer = buffer [next_newline + 1 :]
80
79
if line :
81
80
yield line
82
- last_was_empty = False # Reset empty-line flag
83
81
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
87
83
next_newline = buffer .find (b'\n ' )
88
84
89
85
@@ -186,7 +182,6 @@ def stream(self, func, *args, **kwargs):
186
182
while True :
187
183
resp = func (* args , ** kwargs )
188
184
try :
189
- last_was_empty = False # Set empty line false
190
185
for line in iter_resp_lines (resp ):
191
186
# unmarshal when we are receiving events from watch,
192
187
# return raw string when we are streaming log
@@ -212,10 +207,8 @@ def stream(self, func, *args, **kwargs):
212
207
else :
213
208
if line :
214
209
yield line # Normal non-empty line
215
- last_was_empty = False
216
- elif not last_was_empty :
210
+ else :
217
211
yield '' # Only yield one empty line
218
- last_was_empty = True
219
212
if self ._stop :
220
213
break
221
214
finally :
0 commit comments