summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-09-05 12:50:47 +0200
committerMichał Górny <mgorny@gentoo.org>2020-09-05 12:50:47 +0200
commitf576c0f594b016efd34e89d792257d56988ca7b7 (patch)
tree2a8739df91dc43a93ec872e96bfbace753ebb147
parent0118e195b9db211001233f4e8e901a62baa23319 (diff)
downloadgemato-f576c0f594b016efd34e89d792257d56988ca7b7.tar.gz
compression: Fix compatibility with py<3.8 exceptions
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--gemato/compression.py16
1 files 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'):