
    =e                     ^    d dl mZmZ d dlmZ d dlmZ d dlmZ d Zd Z	d Z
d Zd	 Zd
 ZdS )    )print_functionunicode_literalsfnmatch)ZipFile)TarFilec                     t          | t                    rt          | |          S t          | t                    rt	          | |          S t          dt          |           z            )Nz&Don't know how to extract %s file type)
isinstancer   zipfile_match_and_extractr   tarfile_match_and_extract	TypeErrortype)fileobjpats     Dlib/python3.11/site-packages/binstar_client/inspect_package/uitls.pyextract_firstr   
   sf    '7## 7(#666'7## 7(#666
1DMMA      c                     t          fd|                                 D             d           }|d S |                     |                              d          S )Nc              3   P   K   | ] }t          |j                  |j        V  !d S N)r   filename).0infor   s     r   	<genexpr>z,zipfile_match_and_extract.<locals>.<genexpr>   s7      ccwt}^aGbGbcdmccccccr   ignoreerrors)nextinfolistreaddecode)zip_filer   	item_names    ` r   r   r      sb    cccc0A0A0C0CccceijjIt==##**(*;;;r   c                     t          fd|                                 D             d           }|sd S |                     |          }|                                                    d          S )Nc              3   <   K   | ]}t          |          |V  d S r   r   )r   namer   s     r   r   z,tarfile_match_and_extract.<locals>.<genexpr>   s2      QQtgdC>P>PQdQQQQQQr   r   r   )r   getnamesextractfiler    r!   )tar_filer   r#   file_objs    `  r   r   r      ss    QQQQx'8'8':':QQQSWXXI t##I..H==??!!!222r   c                 ~    |                      dd                               dd                               dd          S )N
-\#)replace)versions    r   safer2   &   s6    ??4%%--dC88@@cJJJr   c                 `     | j         |g|R  }|dk    r|st          |          |d         }|S NUNKNOWNr   )getKeyErrordatakeydvalues       r   get_keyr=   *   H    DHS1E	 	 3--!Lr   c                 `     | j         |g|R  }|dk    r|st          |          |d         }|S r4   )popr7   r8   s       r   pop_keyrA   3   r>   r   N)
__future__r   r   r   zipfiler   tarfiler   r   r   r   r2   r=   rA    r   r   <module>rF      s    8 7 7 7 7 7 7 7                  	 	 	< < <3 3 3K K K      r   