Issue #9957: SpooledTemporaryFile.truncate() now accepts an optional size parameter, as other file-like objects.
Patch by Ryan Kelly.
diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index 3ec6b4a..e3afa3b 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -578,8 +578,13 @@
def tell(self):
return self._file.tell()
- def truncate(self):
- self._file.truncate()
+ def truncate(self, size=None):
+ if size is None:
+ self._file.truncate()
+ else:
+ if size > self._max_size:
+ self.rollover()
+ self._file.truncate(size)
def write(self, s):
file = self._file