summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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'):