Skip to content

Commit cd76b48

Browse files
committed
move repeated code to private helper function
1 parent 35a70e4 commit cd76b48

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

src/PIL/TiffImagePlugin.py

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2080,38 +2080,34 @@ def readLong(self) -> int:
20802080
(value,) = struct.unpack(self.longFmt, self.f.read(4))
20812081
return value
20822082

2083+
@staticmethod
2084+
def _verify_bytes_written(bytes_written: int | None, expected: int) -> None:
2085+
if bytes_written is not None and bytes_written != expected:
2086+
msg = f"wrote only {bytes_written} bytes but wanted {expected}"
2087+
raise RuntimeError(msg)
2088+
20832089
def rewriteLastShortToLong(self, value: int) -> None:
20842090
self.f.seek(-2, os.SEEK_CUR)
20852091
bytes_written = self.f.write(struct.pack(self.longFmt, value))
2086-
if bytes_written is not None and bytes_written != 4:
2087-
msg = f"wrote only {bytes_written} bytes but wanted 4"
2088-
raise RuntimeError(msg)
2092+
self._verify_bytes_written(bytes_written, 4)
20892093

20902094
def rewriteLastShort(self, value: int) -> None:
20912095
self.f.seek(-2, os.SEEK_CUR)
20922096
bytes_written = self.f.write(struct.pack(self.shortFmt, value))
2093-
if bytes_written is not None and bytes_written != 2:
2094-
msg = f"wrote only {bytes_written} bytes but wanted 2"
2095-
raise RuntimeError(msg)
2097+
self._verify_bytes_written(bytes_written, 2)
20962098

20972099
def rewriteLastLong(self, value: int) -> None:
20982100
self.f.seek(-4, os.SEEK_CUR)
20992101
bytes_written = self.f.write(struct.pack(self.longFmt, value))
2100-
if bytes_written is not None and bytes_written != 4:
2101-
msg = f"wrote only {bytes_written} bytes but wanted 4"
2102-
raise RuntimeError(msg)
2102+
self._verify_bytes_written(bytes_written, 4)
21032103

21042104
def writeShort(self, value: int) -> None:
21052105
bytes_written = self.f.write(struct.pack(self.shortFmt, value))
2106-
if bytes_written is not None and bytes_written != 2:
2107-
msg = f"wrote only {bytes_written} bytes but wanted 2"
2108-
raise RuntimeError(msg)
2106+
self._verify_bytes_written(bytes_written, 2)
21092107

21102108
def writeLong(self, value: int) -> None:
21112109
bytes_written = self.f.write(struct.pack(self.longFmt, value))
2112-
if bytes_written is not None and bytes_written != 4:
2113-
msg = f"wrote only {bytes_written} bytes but wanted 4"
2114-
raise RuntimeError(msg)
2110+
self._verify_bytes_written(bytes_written, 4)
21152111

21162112
def close(self) -> None:
21172113
self.finalize()

0 commit comments

Comments
 (0)