diff --git a/src/calibre/gui2/icon_theme.py b/src/calibre/gui2/icon_theme.py index 533bf6f292..738cf0eeab 100644 --- a/src/calibre/gui2/icon_theme.py +++ b/src/calibre/gui2/icon_theme.py @@ -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.zipfile import ZipFile, ZIP_STORED 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 import http_client from polyglot.queue import Queue, Empty diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py index 36aebba66b..e1bb453c23 100644 --- a/src/calibre/test_build.py +++ b/src/calibre/test_build.py @@ -65,7 +65,7 @@ class BuildTest(unittest.TestCase): self.assertEqual(detector.result['encoding'], 'utf-8') def test_lzma(self): - from lzma.xz import test_lzma2 + from calibre_lzma.xz import test_lzma2 test_lzma2() def test_html5lib(self): diff --git a/src/calibre/utils/rapydscript.py b/src/calibre/utils/rapydscript.py index caffcdc02a..90933ea71d 100644 --- a/src/calibre/utils/rapydscript.py +++ b/src/calibre/utils/rapydscript.py @@ -30,7 +30,7 @@ def abspath(x): def update_rapydscript(): - from lzma.xz import compress + from calibre_lzma.xz import compress d = os.path.dirname base = d(d(d(d(d(abspath(__file__)))))) base = os.path.join(base, 'rapydscript') @@ -51,7 +51,7 @@ def to_dict(obj): def compiler(): - from lzma.xz import decompress + from calibre_lzma.xz import decompress ans = getattr(compiler, 'ans', None) if ans is not None: return ans diff --git a/src/lzma/lzma1.py b/src/lzma/lzma1.py index d28013ec72..5e842407cd 100644 --- a/src/lzma/lzma1.py +++ b/src/lzma/lzma1.py @@ -9,7 +9,8 @@ from io import BytesIO from struct import unpack from calibre.ptempfile import SpooledTemporaryFile -from lzma.errors import NotLzma, lzma +from .errors import NotLzma, lzma + def read_header(f): raw = f.read(13) @@ -21,17 +22,21 @@ def read_header(f): raise NotLzma('Not a LZMA file') 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): raw = BytesIO(raw) uncompressed_size, header = read_header(raw) 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(): outfile.seek(uncompressed_size) outfile.truncate() return outfile + if __name__ == '__main__': import sys decompress(open(sys.argv[-1], 'rb')) diff --git a/src/lzma/xz.py b/src/lzma/xz.py index 0020325480..2e82ea85f7 100644 --- a/src/lzma/xz.py +++ b/src/lzma/xz.py @@ -14,7 +14,7 @@ from struct import unpack, error as struct_error, pack from binascii import crc32 as _crc32 from calibre.ptempfile import SpooledTemporaryFile -from lzma.errors import NotXZ, InvalidXZ, lzma +from .errors import NotXZ, InvalidXZ, lzma from polyglot.builtins import error_message HEADER_MAGIC = b'\xfd7zXZ\0'