U
    \> e  ć                   @   s$   d dl Z dd Zdd Zdd ZdS )é    Nc                 C   s   d  ttt| ”S )zĮ
    Given a glob pattern, produce a regex that matches it.

    >>> translate('*.txt')
    '[^/]*\\.txt'
    >>> translate('a?txt')
    'a[^/]txt'
    >>> translate('**/*')
    '.*/[^/]*'
    Ś )ŚjoinŚmapŚreplaceŚseparate©Śpattern© r	   ś-/tmp/pip-unpacked-wheel-u8rs8z0f/zipp/glob.pyŚ	translate   s    r   c                 C   s   t  d| ”S )zÓ
    Separate out character sets to avoid translating their contents.

    >>> [m.group(0) for m in separate('*.txt')]
    ['*.txt']
    >>> [m.group(0) for m in separate('a[?]txt')]
    ['a', '[?]', 'txt']
    z+([^\[]+)|(?P<set>[\[].*?[\]])|([\[][^\]]*$))ŚreŚfinditerr   r	   r	   r
   r      s    	r   c                 C   s2   |   d”p0t |   d”” dd” dd” dd”S )	zE
    Perform the replacements for a match from :func:`separate`.
    Śsetr   z\*\*z.*z\*z[^/]*z\?z[^/])Śgroupr   Śescaper   )Śmatchr	   r	   r
   r      s    
 ’ ž ż’r   )r   r   r   r   r	   r	   r	   r
   Ś<module>   s   