summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dedup/compression.py2
-rw-r--r--dedup/hashing.py2
-rw-r--r--dedup/image.py2
-rwxr-xr-ximportpkg.py13
4 files changed, 10 insertions, 9 deletions
diff --git a/dedup/compression.py b/dedup/compression.py
index 4ce258c..4385f1d 100644
--- a/dedup/compression.py
+++ b/dedup/compression.py
@@ -62,7 +62,7 @@ class GzipDecompressor(object):
else:
expect = struct.pack("<ll", self.crc, self.size)
if self.inbuffer.startswith(expect) and \
- self.inbuffer[len(expect):].replace("\0", "") == "":
+ self.inbuffer[len(expect):].replace(b"\0", b"") == b"":
return b""
return self.inbuffer
diff --git a/dedup/hashing.py b/dedup/hashing.py
index a8a46c7..0b7f889 100644
--- a/dedup/hashing.py
+++ b/dedup/hashing.py
@@ -52,7 +52,7 @@ class HashBlacklistContent(object):
# the chain avoids passing the empty sequence to max
maxlen = max(itertools.chain((0,), itertools.imap(len, blacklist)))
self.maxlen = maxlen
- self.stored = ""
+ self.stored = b""
@property
def name(self):
diff --git a/dedup/image.py b/dedup/image.py
index ef17989..314eb44 100644
--- a/dedup/image.py
+++ b/dedup/image.py
@@ -91,7 +91,7 @@ class GIFHash(ImageHash):
if self.content.tell() < 10: # magic + logical dimension
return False
curvalue = self.content.getvalue()
- if curvalue.startswith((b"GIF87a", "GIF89a")):
+ if curvalue.startswith((b"GIF87a", b"GIF89a")):
width, height = struct.unpack("<HH", curvalue[6:10])
if width * height > self.maxpixels:
raise ValueError("maximum image pixels exceeded")
diff --git a/importpkg.py b/importpkg.py
index 7e074e1..6dced21 100755
--- a/importpkg.py
+++ b/importpkg.py
@@ -45,13 +45,14 @@ def gifhash():
return hashobj
def decompress_tar(filelike, extension):
- if extension in (".lzma", ".xz"):
+ if extension in (b".lzma", b".xz"):
filelike = DecompressedStream(filelike, lzma.LZMADecompressor())
- extension = ""
- if extension not in ("", ".gz", ".bz2"):
+ extension = b""
+ if extension not in (b"", b".gz", b".bz2"):
raise ValueError("unknown compression format with extension %r" %
extension)
- return tarfile.open(fileobj=filelike, mode="r|" + extension[1:])
+ return tarfile.open(fileobj=filelike,
+ mode="r|" + extension[1:].decode("ascii"))
def process_package(filelike, hash_functions):
af = ArReader(filelike)
@@ -62,7 +63,7 @@ def process_package(filelike, hash_functions):
name = af.read_entry()
except EOFError:
raise ValueError("data.tar not found")
- if name.startswith("control.tar"):
+ if name.startswith(b"control.tar"):
if state != "start":
raise ValueError("unexpected control.tar")
state = "control"
@@ -76,7 +77,7 @@ def process_package(filelike, hash_functions):
yield process_control(tf.extractfile(elem).read())
break
continue
- elif name.startswith("data.tar"):
+ elif name.startswith(b"data.tar"):
if state != "control_file":
raise ValueError("missing control file")
state = "data"