> As for file formats, these are handled by liblzma itself; the extension module > just selects which compressor/decompressor initializer function to use > depending > on the value of the "format" argument. Our code won't contain anything along > the > lines of GzipFile; all of that work is done by the underlying C library. > Rather, > the LZMAFile class will be like BZ2File - just a simple filter that passes the > read/written data through a LZMACompressor or LZMADecompressor as appropriate.
This is exactly what I worry about. I think adding file I/O to bz2 was a mistake, as this doesn't integrate with Python's IO library (it used to, but now after dropping stdio, they were incompatible. Indeed, for Python 3.2, BZ2File has been removed from the C module, and lifted to Python. IOW, the _lzma C module must not do any I/O, neither directly nor indirectly (through liblzma). The approach of gzip.py (doing IO and file formats in pure Python) is exactly right. Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com