gh-132983: Introduce `compression` package and move `_compression` module by emmatyping · Pull Request #133018 · python/cpython · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Lib/bz2.py
Empty file added Lib/compression/__init__.py
Empty file.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Internal classes used by the gzip, lzma and bz2 modules"""
"""Internal classes used by compression modules"""

import io
import sys
Expand Down
5 changes: 5 additions & 0 deletions Lib/compression/bz2/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import bz2
__doc__ = bz2.__doc__
del bz2

from bz2 import *
5 changes: 5 additions & 0 deletions Lib/compression/gzip/__init__.py
Comment thread
merwok marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import gzip
__doc__ = gzip.__doc__
del gzip

from gzip import *
5 changes: 5 additions & 0 deletions Lib/compression/lzma/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import lzma
__doc__ = lzma.__doc__
del lzma

from lzma import *
5 changes: 5 additions & 0 deletions Lib/compression/zlib/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import zlib
__doc__ = zlib.__doc__
del zlib

from zlib import *
6 changes: 3 additions & 3 deletions Lib/gzip.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

# based on Andrew Kuchling's minigzip.py distributed with the zlib module

import _compression
import builtins
import io
import os
Expand All @@ -14,6 +13,7 @@
import time
import weakref
import zlib
from compression._common import _streams

__all__ = ["BadGzipFile", "GzipFile", "open", "compress", "decompress"]

Expand Down Expand Up @@ -144,7 +144,7 @@ def writable(self):
return True


class GzipFile(_compression.BaseStream):
class GzipFile(_streams.BaseStream):
"""The GzipFile class simulates most of the methods of a file object with
the exception of the truncate() method.

Expand Down Expand Up @@ -523,7 +523,7 @@ def _read_gzip_header(fp):
return last_mtime


class _GzipReader(_compression.DecompressReader):
class _GzipReader(_streams.DecompressReader):
def __init__(self, fp):
super().__init__(_PaddedFile(fp), zlib._ZlibDecompressor,
wbits=-zlib.MAX_WBITS)
Expand Down
6 changes: 3 additions & 3 deletions Lib/lzma.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
import builtins
import io
import os
from compression._common import _streams
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties # noqa: F401
import _compression


# Value 0 no longer used
Expand All @@ -35,7 +35,7 @@
_MODE_WRITE = 3


class LZMAFile(_compression.BaseStream):
class LZMAFile(_streams.BaseStream):

"""A file object providing transparent LZMA (de)compression.

Expand Down Expand Up @@ -127,7 +127,7 @@ def __init__(self, filename=None, mode="r", *,
raise TypeError("filename must be a str, bytes, file or PathLike object")

if self._mode == _MODE_READ:
raw = _compression.DecompressReader(self._fp, LZMADecompressor,
raw = _streams.DecompressReader(self._fp, LZMADecompressor,
trailing_error=LZMAError, format=format, filters=filters)
self._buffer = io.BufferedReader(raw)

Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_bz2.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from test.support import import_helper
from test.support import threading_helper
from test.support.os_helper import unlink, FakePath
import _compression
from compression._common import _streams
import sys


Expand Down Expand Up @@ -126,15 +126,15 @@ def testReadMultiStream(self):
def testReadMonkeyMultiStream(self):
# Test BZ2File.read() on a multi-stream archive where a stream
# boundary coincides with the end of the raw read buffer.
buffer_size = _compression.BUFFER_SIZE
_compression.BUFFER_SIZE = len(self.DATA)
buffer_size = _streams.BUFFER_SIZE
_streams.BUFFER_SIZE = len(self.DATA)
try:
self.createTempFile(streams=5)
with BZ2File(self.filename) as bz2f:
self.assertRaises(TypeError, bz2f.read, float())
self.assertEqual(bz2f.read(), self.TEXT * 5)
finally:
_compression.BUFFER_SIZE = buffer_size
_streams.BUFFER_SIZE = buffer_size

def testReadTrailingJunk(self):
self.createTempFile(suffix=self.BAD_DATA)
Expand Down Expand Up @@ -742,7 +742,7 @@ def testOpenPathLikeFilename(self):
def testDecompressLimited(self):
"""Decompressed data buffering should be limited"""
bomb = bz2.compress(b'\0' * int(2e6), compresslevel=9)
self.assertLess(len(bomb), _compression.BUFFER_SIZE)
self.assertLess(len(bomb), _streams.BUFFER_SIZE)

decomp = BZ2File(BytesIO(bomb))
self.assertEqual(decomp.read(1), b'\0')
Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_lzma.py
2 changes: 1 addition & 1 deletion Python/stdlib_module_names.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.