(self, f)
| 274 | raise Error('fmt chunk and/or data chunk missing') |
| 275 | |
| 276 | def __init__(self, f): |
| 277 | self._i_opened_the_file = None |
| 278 | if isinstance(f, str): |
| 279 | f = builtins.open(f, 'rb') |
| 280 | self._i_opened_the_file = f |
| 281 | # else, assume it is an open file object already |
| 282 | try: |
| 283 | self.initfp(f) |
| 284 | except: |
| 285 | if self._i_opened_the_file: |
| 286 | f.close() |
| 287 | raise |
| 288 | |
| 289 | def __del__(self): |
| 290 | self.close() |