File: //lib/python3.12/__pycache__/fnmatch.cpython-312.pyc
�
    )!�ho  �                   �|   � d Z ddlZddlZddlZddlZg d�Zd� Z ej                  dd��      d� �       Zd	� Z	d
� Z
d� Zy)a�  Filename matching with shell patterns.
fnmatch(FILENAME, PATTERN) matches according to the local convention.
fnmatchcase(FILENAME, PATTERN) always takes case in account.
The functions operate by translating the pattern into a regular
expression.  They cache the compiled regular expressions for speed.
The function translate(PATTERN) returns a regular expression
corresponding to PATTERN.  (It does not compile it.)
�    N)�filter�fnmatch�fnmatchcase�	translatec                 �   � t         j                  j                  | �      } t         j                  j                  |�      }t        | |�      S )a�  Test whether FILENAME matches PATTERN.
    Patterns are Unix shell style:
    *       matches everything
    ?       matches any single character
    [seq]   matches any character in seq
    [!seq]  matches any char not in seq
    An initial period in FILENAME is not special.
    Both FILENAME and PATTERN are first case-normalized
    if the operating system requires it.
    If you don't want this, use fnmatchcase(FILENAME, PATTERN).
    )�os�path�normcaser   )�name�pats     �/usr/lib/python3.12/fnmatch.pyr   r      s9   � � �7�7���D�!�D�
�'�'�
�
�3�
�C��t�S�!�!�    i �  T)�maxsize�typedc                 �   � t        | t        �      r$t        | d�      }t        |�      }t        |d�      }nt        | �      }t	        j
                  |�      j                  S )Nz
ISO-8859-1)�
isinstance�bytes�strr   �re�compile�match)r   �pat_str�res_str�ress       r
   �_compile_patternr   &