mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Rename lzma module to calibre_lzma
This commit is contained in:
parent
4a45f32357
commit
b62a5af46c
@ -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
|
||||||
|
@ -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):
|
||||||
|
@ -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
|
||||||
|
@ -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'))
|
||||||
|
@ -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'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user