From e9688bac485e3f5c9bc4d53977bbf5102f8332f9 Mon Sep 17 00:00:00 2001 From: ro-id <84511204+ro-id@users.noreply.github.com> Date: Mon, 11 Sep 2023 13:58:29 +0200 Subject: [PATCH 1/4] bugfix BLFreader zlib.error: Error -5 while decompressing data: incomplete or truncated stream in Python --- can/io/blf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/can/io/blf.py b/can/io/blf.py index 071c089d7..195461f14 100644 --- a/can/io/blf.py +++ b/can/io/blf.py @@ -187,7 +187,9 @@ def __iter__(self) -> Generator[Message, None, None]: if method == NO_COMPRESSION: data = container_data elif method == ZLIB_DEFLATE: - data = zlib.decompress(container_data, 15, uncompressed_size) + elif method == ZLIB_DEFLATE: + zobj = zlib.decompressobj() # obj for decompressing data streams that won’t fit into memory at once. + data = zobj.decompress(container_data) else: # Unknown compression method LOG.warning("Unknown compression method (%d)", method) From 15812d89bdd12dc4f33ca0b6093ef9886e2a3b18 Mon Sep 17 00:00:00 2001 From: Iding Robin Date: Mon, 11 Sep 2023 16:39:45 +0200 Subject: [PATCH 2/4] delete elif copied on to many lines --- can/io/blf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/can/io/blf.py b/can/io/blf.py index 195461f14..611025e7a 100644 --- a/can/io/blf.py +++ b/can/io/blf.py @@ -187,7 +187,6 @@ def __iter__(self) -> Generator[Message, None, None]: if method == NO_COMPRESSION: data = container_data elif method == ZLIB_DEFLATE: - elif method == ZLIB_DEFLATE: zobj = zlib.decompressobj() # obj for decompressing data streams that won’t fit into memory at once. data = zobj.decompress(container_data) else: From 5f32f0272806c15dc331e250768575660cd4669c Mon Sep 17 00:00:00 2001 From: Iding Robin Date: Mon, 11 Sep 2023 17:26:15 +0200 Subject: [PATCH 3/4] Update blf.py shorten line -> comment in next line delete unused variable --- can/io/blf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/can/io/blf.py b/can/io/blf.py index 611025e7a..9810baa00 100644 --- a/can/io/blf.py +++ b/can/io/blf.py @@ -182,12 +182,13 @@ def __iter__(self) -> Generator[Message, None, None]: self.file.read(obj_size % 4) if obj_type == LOG_CONTAINER: - method, uncompressed_size = LOG_CONTAINER_STRUCT.unpack_from(obj_data) + method, _ = LOG_CONTAINER_STRUCT.unpack_from(obj_data) container_data = obj_data[LOG_CONTAINER_STRUCT.size :] if method == NO_COMPRESSION: data = container_data elif method == ZLIB_DEFLATE: - zobj = zlib.decompressobj() # obj for decompressing data streams that won’t fit into memory at once. + # obj for decompressing data streams that won’t fit into memory at once. + zobj = zlib.decompressobj() data = zobj.decompress(container_data) else: # Unknown compression method From af6c10d19f8b6683f1d36aef8fbb0a0394c53252 Mon Sep 17 00:00:00 2001 From: Iding Robin Date: Tue, 12 Sep 2023 10:07:37 +0200 Subject: [PATCH 4/4] fromatting --- can/io/blf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/can/io/blf.py b/can/io/blf.py index 9810baa00..81146233d 100644 --- a/can/io/blf.py +++ b/can/io/blf.py @@ -187,8 +187,7 @@ def __iter__(self) -> Generator[Message, None, None]: if method == NO_COMPRESSION: data = container_data elif method == ZLIB_DEFLATE: - # obj for decompressing data streams that won’t fit into memory at once. - zobj = zlib.decompressobj() + zobj = zlib.decompressobj() data = zobj.decompress(container_data) else: # Unknown compression method