File: //usr/lib64/python3.8/__pycache__/glob.cpython-38.pyc
U
    e5dA  �                   @   s�   d Z ddlZddlZddlZddlZdddgZdd�dd�Zdd�d	d�Zd
d� Zdd
� Z	dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Ze�d�Ze�d�Zdd� Zdd� Zd d!� Zd"d� ZdS )#zFilename globbing utility.�    N�glob�iglob�escapeF��	recursivec                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.
    r   )�listr   )�pathnamer   � r	   �/usr/lib64/python3.8/glob.pyr   
   s    c                C   s:   t �d| |� t| |d�}|r6t| �r6t|�}|r6t�|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.
    z	glob.globF)�sys�audit�_iglob�_isrecursive�next�AssertionError)r   r   �it�sr	   r	   r
   r      s    c                 c   s   t j�| �\}}t| �sN|r t�|r8t j�| �rJ| V  nt j�|�rJ| V  d S |s�|rrt|�rrt|||�E d H  nt	|||�E d H  d S || kr�t|�r�t
||d�}n|g}t|�r�|r�t|�r�t}q�t	}nt}|D ]&}||||�D ]}t j�||�V  q�q�d S )NT)
�os�path�split�	has_magicr   �lexists�isdirr   �_glob2�_glob1r
   �_glob0�join)r   r   �dironly�dirname�basename�dirsZglob_in_dir�namer	   r	   r
   r
   )   s2    r
   c                 C   s0   t t| |��}t|�s$dd� |D �}t�||�S )Nc                 s   s   | ]}t |�s|V  qd S �N)�	_ishidden)�.0�xr	   r	   r
   �	<genexpr>T   s      z_glob1.<locals>.<genexpr>)r   �_iterdirr#   �fnmatch�filter)r   �patternr   �namesr	   r	   r
   r   Q   s    r   c                 C   s8   |st j�| �r4|gS nt j�t j�| |��r4|gS g S r"