HOME


Mini Shell 1.0
DIR: /snap/certbot/4482/lib64/python3.12/site-packages/setuptools/__pycache__/
Upload File :
Current File : //snap/certbot/4482/lib64/python3.12/site-packages/setuptools/__pycache__/glob.cpython-312.pyc
�

�S�g���t�dZddlmZddlZddlZddlZddlmZmZddl	m
Z
mZmZe
r
ddl
mZmZmZgd�Zddd�Zddd	�Zdd
�Zedd��Zedd��Zdd
�Zd�Zed d��Zed!d��Zd"d�Zed#d��Zed$d��Zd%d�Zej2d�Zej2d�Zd&d�Zd'd�Zd�Zy)(z�
Filename globbing utility. Mostly a copy of `glob` from Python 3.5.

Changes include:
 * `yield from` and PEP3102 `*` removed.
 * Hidden files are not ignored.
�)�annotationsN)�Iterable�Iterator)�
TYPE_CHECKING�AnyStr�overload)�	BytesPath�StrOrBytesPath�StrPath)�glob�iglob�escapec�.�tt||���S)ayReturn 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
)�pathnamers  �/build/snapcraft-certbot-29b1212f749eeba2f1dece1adfe9a83a/parts/certbot/install/lib/python3.12/site-packages/setuptools/glob.pyrrs����h�)�4�5�5�c�V�t||�}|rt|�rt|�}|rJ�|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)rr�it�ss    rr
r
%s/��
��)�	$�B��\�(�+���H����u�
�Irc#�(K�tjj|�\}}|rt|�rtnt
}t
|�sJ|r$tjj|�r|��ytjj|�r|��y|s|||�Ed{���y||k7rt
|�r
t||�}n|g}t
|�st}|D]2}|||�D]$}tjj||����&�4y7�n�w�N)�os�path�splitr�glob2�glob1�	has_magic�lexists�isdirr�glob0�join)rr�dirname�basename�glob_in_dir�dirs�names       rrr7s��������
�
�h�/��G�X�$��h�)?�%�U�K��X����w�w���x�(���
	��w�w�}�}�W�%������w��1�1�1���(��y��1�!'���!;���y���X�����.�����2�	.�D��'�'�,�,�w��-�-�	.�.�	2�s�BD�!D�"A/Dc��yr��r'�patterns  rr!r![s��8;rc��yrr-r.s  rr!r!]s��>Arc��|s@t|t�r tjj	d�}ntj}	tj
|�}tj||�S#t$rgcYSwxYw�N�ASCII)	�
isinstance�bytesr�curdir�encode�listdir�OSError�fnmatch�filter)r'r/�namess   rr!r!_sh����g�u�%��i�i�&�&�w�/�G��i�i�G���
�
�7�#���>�>�%��)�)�����	��s�A/�/A=�<A=c���|s$tjj|�r|gSgStjjtjj	||��r|gSgSr)rrr$r#r&)r'r(s  rr%r%msT����7�7�=�=��!��:���I��7�7�?�?�2�7�7�<�<���:�;��:��
�Irc��yrr-r.s  rr r }s��<?rc��yrr-r.s  rr r s��BErc#�^K�t|�sJ�|dd��t|�Ed{���y7��w)Nr)r�	_rlistdirr.s  rr r �s.������ � � �
�"�1�+����!�!�!�s�#-�+�-c��yrr-�r's rrArA�s��25rc��yrr-rCs rrArA�s��69rc#�K�|s@t|t�r tjj	d�}ntj}	tj
|�}|D]\}|��|r tjj||�n|}t|�D]$}tjj||����&�^y#t$rYywxYw�wr2)
r4r5rr6r7r8r9rr&rA)r'r<�xr�ys     rrArA�s�������g�u�%��i�i�&�&�w�/�G��i�i�G���
�
�7�#���%����+2�r�w�w�|�|�G�Q�'����4��	%�A��'�'�,�,�q�!�$�$�	%�	%������s+�AC�B=�A"C�=	C	�C�C	�	Cz([*?[])s([*?[])c�~�t|t�rtj|�duStj|�duSr)r4r5�magic_check_bytes�search�magic_check)rs rr"r"�s8���!�U�� �'�'��*�$�6�6��!�!�!�$�D�0�0rc�6�t|t�r|dk(S|dk(S)Ns**z**)r4r5)r/s rrr�s!���'�5�!��%����$��rc���tjj|�\}}t|t�rt
j
d|�}||zStj
d|�}||zS)zEscape all special characters.s[\1]z[\1])rr�
splitdriver4r5rI�subrK)r�drives  rrr�sb���g�g�(�(��2�O�E�8��(�E�"�$�(�(��8�<���8����?�?�7�H�5���8��r)F)rrr�bool�returnzlist[AnyStr])rrrrQrRzIterator[AnyStr])r'rr/�strrRz	list[str])r'r	r/r5rRzlist[bytes])r'r
r/�str | bytesrRzlist[str] | list[bytes])r'rr/rSrR�
Iterator[str])r'r	r/r5rR�Iterator[bytes])r'r
r/rTrR�Iterator[str | bytes])r'rrRrU)r'r	rRrV)r'r
rRrW)rrTrRrQ)r/rTrRrQ)�__doc__�
__future__rr:r�re�collections.abcrr�typingrrr�	_typeshedr	r
r�__all__rr
rr!r%r rA�compilerKrIr"rrr-rr�<module>r`s����#��	�	�.�2�2��<�<�
%��6��$.�H
�;�
�;�	�A�
�A�*�	� 
�?�
�?�	�E�
�E�"�
�5�
�5�	�9�
�9�%�$�b�j�j��#���B�J�J�z�*��1��	r