Rename lzma module to calibre_lzma

This commit is contained in:
Kovid Goyal 2019-11-30 16:52:34 +05:30
parent 4a45f32357
commit b62a5af46c
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
5 changed files with 13 additions and 8 deletions

View File

@ -37,7 +37,7 @@ from calibre.utils.icu import numeric_sort_key as sort_key
from calibre.utils.img import image_from_data, Canvas, optimize_png, optimize_jpeg from calibre.utils.img import image_from_data, Canvas, optimize_png, optimize_jpeg
from calibre.utils.zipfile import ZipFile, ZIP_STORED from calibre.utils.zipfile import ZipFile, ZIP_STORED
from calibre.utils.filenames import atomic_rename from calibre.utils.filenames import atomic_rename
from lzma.xz import compress, decompress from calibre_lzma.xz import compress, decompress
from polyglot.builtins import iteritems, map, range, reraise, filter, as_bytes, unicode_type from polyglot.builtins import iteritems, map, range, reraise, filter, as_bytes, unicode_type
from polyglot import http_client from polyglot import http_client
from polyglot.queue import Queue, Empty from polyglot.queue import Queue, Empty

View File

@ -65,7 +65,7 @@ class BuildTest(unittest.TestCase):
self.assertEqual(detector.result['encoding'], 'utf-8') self.assertEqual(detector.result['encoding'], 'utf-8')
def test_lzma(self): def test_lzma(self):
from lzma.xz import test_lzma2 from calibre_lzma.xz import test_lzma2
test_lzma2() test_lzma2()
def test_html5lib(self): def test_html5lib(self):

View File

@ -30,7 +30,7 @@ def abspath(x):
def update_rapydscript(): def update_rapydscript():
from lzma.xz import compress from calibre_lzma.xz import compress
d = os.path.dirname d = os.path.dirname
base = d(d(d(d(d(abspath(__file__)))))) base = d(d(d(d(d(abspath(__file__))))))
base = os.path.join(base, 'rapydscript') base = os.path.join(base, 'rapydscript')
@ -51,7 +51,7 @@ def to_dict(obj):
def compiler(): def compiler():
from lzma.xz import decompress from calibre_lzma.xz import decompress
ans = getattr(compiler, 'ans', None) ans = getattr(compiler, 'ans', None)
if ans is not None: if ans is not None:
return ans return ans

View File

@ -9,7 +9,8 @@ from io import BytesIO
from struct import unpack from struct import unpack
from calibre.ptempfile import SpooledTemporaryFile from calibre.ptempfile import SpooledTemporaryFile
from lzma.errors import NotLzma, lzma from .errors import NotLzma, lzma
def read_header(f): def read_header(f):
raw = f.read(13) raw = f.read(13)
@ -21,17 +22,21 @@ def read_header(f):
raise NotLzma('Not a LZMA file') raise NotLzma('Not a LZMA file')
return uncompressed_size, raw return uncompressed_size, raw
def decompress(raw, outfile=None, bufsize=10 * 1024 * 1024): def decompress(raw, outfile=None, bufsize=10 * 1024 * 1024):
if isinstance(raw, bytes): if isinstance(raw, bytes):
raw = BytesIO(raw) raw = BytesIO(raw)
uncompressed_size, header = read_header(raw) uncompressed_size, header = read_header(raw)
outfile = outfile or SpooledTemporaryFile(50 * 1024 * 1024, '_lzma_decompress') outfile = outfile or SpooledTemporaryFile(50 * 1024 * 1024, '_lzma_decompress')
lzma.decompress(raw.read, raw.seek, outfile.write, uncompressed_size, header, bufsize) lzma.decompress(
raw.read, raw.seek, outfile.write, uncompressed_size, header, bufsize
)
if uncompressed_size < outfile.tell(): if uncompressed_size < outfile.tell():
outfile.seek(uncompressed_size) outfile.seek(uncompressed_size)
outfile.truncate() outfile.truncate()
return outfile return outfile
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys
decompress(open(sys.argv[-1], 'rb')) decompress(open(sys.argv[-1], 'rb'))

View File

@ -14,7 +14,7 @@ from struct import unpack, error as struct_error, pack
from binascii import crc32 as _crc32 from binascii import crc32 as _crc32
from calibre.ptempfile import SpooledTemporaryFile from calibre.ptempfile import SpooledTemporaryFile
from lzma.errors import NotXZ, InvalidXZ, lzma from .errors import NotXZ, InvalidXZ, lzma
from polyglot.builtins import error_message from polyglot.builtins import error_message
HEADER_MAGIC = b'\xfd7zXZ\0' HEADER_MAGIC = b'\xfd7zXZ\0'