| 736 | self.rollover() |
| 737 | |
| 738 | def rollover(self): |
| 739 | if self._rolled: return |
| 740 | file = self._file |
| 741 | newfile = self._file = TemporaryFile(**self._TemporaryFileArgs) |
| 742 | del self._TemporaryFileArgs |
| 743 | |
| 744 | pos = file.tell() |
| 745 | if hasattr(newfile, 'buffer'): |
| 746 | newfile.buffer.write(file.detach().getvalue()) |
| 747 | else: |
| 748 | newfile.write(file.getvalue()) |
| 749 | newfile.seek(pos, 0) |
| 750 | |
| 751 | self._rolled = True |
| 752 | |
| 753 | # The method caching trick from NamedTemporaryFile |
| 754 | # won't work here, because _file may change from a |