summaryrefslogtreecommitdiff
path: root/dedup/compression.py
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2020-02-16 08:21:20 +0100
committerHelmut Grohne <helmut@subdivi.de>2020-02-16 08:21:20 +0100
commit27b95909f061ae3ecb3ba1b8d46adfef98ca5e6f (patch)
tree87695b998b1e97e406050584812d4db68bdb4610 /dedup/compression.py
parente77a1ebf8bda10494088bb6c72873d8ef214e0f3 (diff)
downloaddebian-dedup-27b95909f061ae3ecb3ba1b8d46adfef98ca5e6f.tar.gz
drop support for Python 2.x
Diffstat (limited to 'dedup/compression.py')
-rw-r--r--dedup/compression.py17
1 files changed, 7 insertions, 10 deletions
diff --git a/dedup/compression.py b/dedup/compression.py
index 8d1912b..161eda2 100644
--- a/dedup/compression.py
+++ b/dedup/compression.py
@@ -1,13 +1,10 @@
import bz2
import struct
-import sys
import zlib
import lzma
-crc32_type = "L" if sys.version_info.major >= 3 else "l"
-
-class GzipDecompressor(object):
+class GzipDecompressor:
"""An interface to gzip which is similar to bz2.BZ2Decompressor and
lzma.LZMADecompressor."""
def __init__(self):
@@ -66,7 +63,7 @@ class GzipDecompressor(object):
elif not self.sawheader:
return self.inbuffer
else:
- expect = struct.pack("<" + crc32_type + "L", self.crc, self.size)
+ expect = struct.pack("<LL", self.crc, self.size)
if self.inbuffer.startswith(expect) and \
self.inbuffer[len(expect):].replace(b"\0", b"") == b"":
return b""
@@ -90,7 +87,7 @@ class GzipDecompressor(object):
new.size = self.size
return new
-class DecompressedStream(object):
+class DecompressedStream:
"""Turn a readable file-like into a decompressed file-like. It supports
read(optional length), tell, seek(forward only) and close."""
blocksize = 65536
@@ -173,10 +170,10 @@ class DecompressedStream(object):
self.closed = True
decompressors = {
- u'.gz': GzipDecompressor,
- u'.bz2': bz2.BZ2Decompressor,
- u'.lzma': lzma.LZMADecompressor,
- u'.xz': lzma.LZMADecompressor,
+ '.gz': GzipDecompressor,
+ '.bz2': bz2.BZ2Decompressor,
+ '.lzma': lzma.LZMADecompressor,
+ '.xz': lzma.LZMADecompressor,
}
def decompress(filelike, extension):