make Response.iter_lines yield the pending buffer if its actually a complete line

This commit is contained in:
Ronny Pfannschmidt
2012-01-17 12:47:22 +01:00
parent df0dc2b67a
commit 29271a4100
+5 -1
View File
@@ -633,7 +633,7 @@ class Response(object):
avoids reading the content at once into memory for large
responses.
"""
#XXX: why rstrip by default
pending = None
for chunk in self.iter_content(chunk_size, decode_unicode=decode_unicode):
if pending is not None:
@@ -643,6 +643,10 @@ class Response(object):
yield line.rstrip()
# Save the last part of the chunk for next iteration, to keep full line together
pending = lines[-1]
#if pending is a complete line, give it baack
if pending[-1] == '\n':
yield pending.rstrip()
pending = None
# Yield the last line
if pending is not None: