WIP: Use assign expr for "while True: ... break" by vstinner · Pull Request #8095 · python/cpython (original) (raw)

Expand Up

@@ -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)

Expand Down Expand Up

@@ -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):

Expand Down Expand Up

@@ -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

Expand Down Expand Up

@@ -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):

Expand Down