99import lzma
1010import mmap
1111import os
12+ from typing import (Dict , Union )
1213from urllib .error import URLError # noqa
1314from urllib .parse import ( # noqa
1415 urlencode , urljoin , urlparse as parse_url , uses_netloc , uses_params ,
1516 uses_relative )
1617from urllib .request import pathname2url , urlopen
1718import zipfile
18- from typing import Dict
1919
2020import pandas .compat as compat
2121from pandas .errors import ( # noqa
@@ -234,7 +234,7 @@ def file_path_to_url(path):
234234}
235235
236236
237- def _get_compression_method (compression : ( str , Dict ) ):
237+ def _get_compression_method (compression : Union [ str , Dict , None ] ):
238238 """
239239 Simplifies a compression argument to a compression method string and
240240 a dict containing additional arguments.
@@ -247,14 +247,14 @@ def _get_compression_method(compression: (str, Dict)):
247247
248248 Returns
249249 -------
250- tuple of ({compression method}, str
250+ tuple of ({compression method}, any
251251 {compression arguments}, dict)
252252
253253 Raises
254254 ------
255255 ValueError on dict missing 'method' key
256256 """
257- compression_args = {}
257+ compression_args = {} # type: Dict
258258 # Handle dict
259259 if isinstance (compression , dict ):
260260 compression_args = compression .copy ()
@@ -331,8 +331,9 @@ def _infer_compression(filepath_or_buffer, compression):
331331 raise ValueError (msg )
332332
333333
334- def _get_handle (path_or_buf , mode , encoding = None , compression = None ,
335- memory_map = False , is_text = True ):
334+ def _get_handle (path_or_buf , mode , encoding = None ,
335+ compression : Union [str , Dict , None ] = None , memory_map = False ,
336+ is_text = True ):
336337 """
337338 Get file handle for given path/buffer and mode.
338339
@@ -480,7 +481,7 @@ class BytesZipFile(zipfile.ZipFile, BytesIO): # type: ignore
480481 """
481482 # GH 17778
482483 def __init__ (self , file , mode , compression = zipfile .ZIP_DEFLATED ,
483- arcname : ( str , zipfile .ZipInfo ) = None , ** kwargs ):
484+ arcname : Union [ str , zipfile .ZipInfo , None ] = None , ** kwargs ):
484485 if mode in ['wb' , 'rb' ]:
485486 mode = mode .replace ('b' , '' )
486487 self .arcname = arcname
0 commit comments