def test_from_obj(self): gfile, created = g.File._from_obj(self.gfile._obj) assert gfile.filename == 'tests/samples/stereo-440hz.mp3' assert created == False assert self.gfile is gfile gfile_obj = lib.groove_file_open(b'tests/samples/mono-180hz.mp3') gfile, created = g.File._from_obj(gfile_obj) assert gfile.filename == 'tests/samples/mono-180hz.mp3' assert created == True
def open(self): """Open the file In general this should not be used, use the context manager approach when possible """ if self._obj is not None: raise ValueError('File is already open') self._obj = lib.groove_file_open(self._filename.encode()) if self._obj == ffi.NULL: # TODO: get error from AV_LOG self._obj = None raise ValueError('I/O error opening file')