(self)
| 759 | self._patchheader() |
| 760 | |
| 761 | def close(self): |
| 762 | if self._file is None: |
| 763 | return |
| 764 | try: |
| 765 | self._ensure_header_written(0) |
| 766 | if self._datawritten & 1: |
| 767 | # quick pad to even size |
| 768 | self._file.write(b'\x00') |
| 769 | self._datawritten = self._datawritten + 1 |
| 770 | self._writemarkers() |
| 771 | if self._nframeswritten != self._nframes or \ |
| 772 | self._datalength != self._datawritten or \ |
| 773 | self._marklength: |
| 774 | self._patchheader() |
| 775 | finally: |
| 776 | # Prevent ref cycles |
| 777 | self._convert = None |
| 778 | f = self._file |
| 779 | self._file = None |
| 780 | f.close() |
| 781 | |
| 782 | # |
| 783 | # Internal methods. |
no test coverage detected