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