pyrominfo icon indicating copy to clipboard operation
pyrominfo copied to clipboard

File-like object for parseBuffer()?

Open Holzhaus opened this issue 9 years ago • 0 comments

Instead passing bytes or str objects to parseBuffer(data), it could take actual file-like objects.

That would not only make it suitable to pass huge (>100MiB) images (e.g. PSX, PSP, Dreamcast, Gamecube, etc.) to that function, it also makes it easy to pass archive contents:

If you want to read in-memory data like the current parseBuffer() implementation, you can still do that by using StringIO.StringIO objects as a wrapper to create a file-like object from a string.

The only downer is that the file-like objects returned by zipfile.ZipFile.open(...) and tarfile.TarFile.extractfile(...) do not support the seek() method, so these wouldn't work in all cases (e.g. the CDI/GDI parser in PR #3, which uses seek() a lot).

@garbear What do you think?

Holzhaus avatar May 14 '15 03:05 Holzhaus