From f576c0f594b016efd34e89d792257d56988ca7b7 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Sat, 5 Sep 2020 12:50:47 +0200 Subject: compression: Fix compatibility with py<3.8 exceptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- gemato/compression.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gemato/compression.py b/gemato/compression.py index 489d032..e3d86fe 100644 --- a/gemato/compression.py +++ b/gemato/compression.py @@ -8,15 +8,21 @@ import gzip import io import lzma import os.path +import sys from gemato.exceptions import UnsupportedCompression -# NB: bz2 is not covered here since it uses generic OSError -InvalidCompressedFileExceptions = ( - gzip.BadGzipFile, - lzma.LZMAError, -) +# NB: bz2 (and gzip in py<3.8) uses generic OSError +if sys.hexversion >= 0x03080000: + InvalidCompressedFileExceptions = ( + gzip.BadGzipFile, + lzma.LZMAError, + ) +else: + InvalidCompressedFileExceptions = ( + lzma.LZMAError, + ) def open_compressed_file(suffix, f, mode='rb'): -- cgit v1.2.3