WIP: Use assign expr for "while True: ... break" by vstinner · Pull Request #8095 · python/cpython (original) (raw)
@@ -679,11 +679,8 @@ def flush(self):
self._file.seek(start)
self._pre_message_hook(new_file)
new_start = new_file.tell()
while True:
buffer = self._file.read(min(4096,
stop - self._file.tell()))
if not buffer:
break
while (buffer := self._file.read(min(4096,
stop - self._file.tell()))):
new_file.write(buffer)
new_toc[key] = (new_start, new_file.tell())
self._post_message_hook(new_file)
@@ -1422,10 +1419,8 @@ def _install_message(self, message):
self._file.write(line.replace(b'\n', linesep))
if line == b'\n' or not line:
break
while True:
buffer = orig_buffer.read(4096) # Buffer size is arbitrary.
if not buffer:
break
# Buffer size is arbitrary.
while (buffer := orig_buffer.read(4096)):
self._file.write(buffer.replace(b'\n', linesep))
elif isinstance(message, (bytes, str, io.StringIO)):
if isinstance(message, io.StringIO):
@@ -1465,10 +1460,7 @@ def _install_message(self, message):
message.seek(original_pos)
else:
break
while True:
line = message.readline()
if not line:
break
while (line := message.readline()):
# Universal newline support.
if line.endswith(b'\r\n'):
line = line[:-2] + linesep
@@ -1953,10 +1945,7 @@ def readlines(self, sizehint=None):
def __iter__(self):
"""Iterate over lines."""
while True:
line = self.readline()
if not line:
return
while (line := self.readline()):
yield line
def tell(self):