Your IP : 18.116.88.132
3
9��fW � @ s� d Z ddlZddlZddlZddlmZ dddgZddd�Zdd d�Zd
d� Z dd
� Z
dd� Zdd� Zdd� Z
ejd�Zejd�Zdd� Zdd� Zdd� ZdS )z�
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.
Changes include:
* `yield from` and PEP3102 `*` removed.
* `bytes` changed to `six.binary_type`.
* Hidden files are not ignored.
� N)�binary_type�glob�iglob�escapeFc C s t t| |d��S )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.
)� recursive)�listr )�pathnamer � r �/usr/lib/python3.6/glob.pyr s c C s, t | |�}|r(t| �r(t|�}| s(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.
)�_iglob�_isrecursive�next�AssertionError)r r �it�sr r r
r s
c c s t jj| �\}}t| �sF|r0t jj| �rB| V nt jj|�rB| V d S |s�|rrt|�rrx4t||�D ]
}|V qbW nxt||�D ]
}|V q~W d S || kr�t|�r�t ||�}n|g}t|�r�|r�t|�r�t}q�t}nt
}x0|D ](}x"|||�D ]}t jj||�V q�W q�W d S )N)�os�path�split� has_magic�lexists�isdirr �glob2�glob1r �glob0�join)r r �dirname�basename�x�dirsZglob_in_dir�namer r r
r 2 s4
r c C sR | s"t |t�rtjjd�} ntj} ytj| �}W n tk
rD g S X tj||�S )N�ASCII) �
isinstancer r �curdir�encode�listdir�OSError�fnmatch�filter)r �pattern�namesr r r
r ] 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 j s r c c s6 t |�st�|d d� V xt| �D ]
}|V q$W d S )Nr )r r � _rlistdir)r r( r r r r
r z s r c
c s� | s"t | t�rttjd�} ntj} ytj| �}W n tjk
rF d S X xJ|D ]B}|V | rjtjj| |�n|}x t|�D ]}tjj||�V qxW qNW d S )Nr ) r! r r r"