MINI MINI MANI MO
3
  \                 @   s   d Z ddlZddlZddlZdddgZddddZddd	dZd
d Zdd
 Zdd Z	dd Z
dd Zdd Zdd Z
dd ZejdZejdZdd Zdd Zd d! Zd"d ZdS )#zFilename globbing utility.    NglobiglobescapeF)	recursivec            C   s   t t| |dS )ay  Return a list of paths matching a pathname pattern.
    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.
    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    )r   )listr   )pathnamer    r   /usr/lib64/python3.6/glob.pyr   	   s    c            C   s$   t | |d}|r t| r t|}|S )a  Return an iterator which yields the paths matching a pathname pattern.
    The pattern may contain simple shell-style wildcards a la
    fnmatch. However, unlike fnmatch, filenames starting with a
    dot are special cases that are not matched by '*' and '?'
    patterns.
    If recursive is true, the pattern '**' will match any files and
    zero or more directories and subdirectories.
    F)_iglob_isrecursivenext)r   r   itsr   r   r	   r      s    c             c   s   t jj| \}}t| sF|r0t jj| rB| V  nt jj|rB| V  d S |s|rjt|rjt|||E d H  nt|||E d H  d S || krt|rt	||d}n|g}t|r|rt|rt}qt}nt
}x2|D ]*}x$||||D ]}t jj||V  qW qW d S )NT)ospathsplit	has_magiclexistsisdirr   _glob2_glob1r
   _glob0join)r   r   dironlydirnamebasenamedirsZglob_in_dirnamer   r   r	   r
   '   s0    
r
   c             C   s0   t t| |}t|s$dd |D }tj||S )Nc             s   s   | ]}t |s|V  qd S )N)	_ishidden).0xr   r   r	   	<genexpr>R   s    z_glob1.<locals>.<genexpr>)r   _iterdirr   fnmatchfilter)r   patternr   namesr   r   r	   r   O   s    r   c             C   s8   |st jj| r4|gS nt jjt jj| |r4|gS g S )N)r   r   r   r   r   )r   r   r   r   r   r	   r   U   s    r   c             C   s   t | |dS )NF)r   )r   r%   r   r   r	   glob0b   s    r'   c             C   s   t | |dS )NF)r   )r   r%   r   r   r	   glob1e   s    r(   c             c   s"