Unverified Commit f9c4fdf9 authored by Philip Meier's avatar Philip Meier Committed by GitHub
Browse files

use more precise return type for gzip.open() (#2792)

parent 831c0df3
...@@ -7,6 +7,8 @@ import numpy as np ...@@ -7,6 +7,8 @@ import numpy as np
import torch import torch
import codecs import codecs
import string import string
import gzip
import lzma
from typing import Any, Callable, Dict, IO, List, Optional, Tuple, Union from typing import Any, Callable, Dict, IO, List, Optional, Tuple, Union
from .utils import download_url, download_and_extract_archive, extract_archive, \ from .utils import download_url, download_and_extract_archive, extract_archive, \
verify_str_arg verify_str_arg
...@@ -435,17 +437,15 @@ def get_int(b: bytes) -> int: ...@@ -435,17 +437,15 @@ def get_int(b: bytes) -> int:
return int(codecs.encode(b, 'hex'), 16) return int(codecs.encode(b, 'hex'), 16)
def open_maybe_compressed_file(path: Union[str, IO]) -> IO: def open_maybe_compressed_file(path: Union[str, IO]) -> Union[IO, gzip.GzipFile]:
"""Return a file object that possibly decompresses 'path' on the fly. """Return a file object that possibly decompresses 'path' on the fly.
Decompression occurs when argument `path` is a string and ends with '.gz' or '.xz'. Decompression occurs when argument `path` is a string and ends with '.gz' or '.xz'.
""" """
if not isinstance(path, torch._six.string_classes): if not isinstance(path, torch._six.string_classes):
return path return path
if path.endswith('.gz'): if path.endswith('.gz'):
import gzip
return gzip.open(path, 'rb') return gzip.open(path, 'rb')
if path.endswith('.xz'): if path.endswith('.xz'):
import lzma
return lzma.open(path, 'rb') return lzma.open(path, 'rb')
return open(path, 'rb') return open(path, 'rb')
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment