Ë
    šQj®  ã                  ó€  — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ eeegef   Z G d	„ d
e«      Z G d„ d«      Z e«       Z	 ej
                  Z	 ej*                  Z	 ej,                  Zdd„Zdd„Z e«         e«        ej3                  d«        ed«      D ]  \  ZZ eej8                  ge¢­Ž  Œ y)zPattern matching registry.é    )Úannotations)Úfnmatch)Úmatch)ÚCallableÚcasté   )Úentrypoints)Úbytes_to_strc                  ó   — e Zd ZdZy)ÚMatcherNotInstalledzMatcher not installed/found.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    úI/var/www/html/truck-me/venv/lib/python3.12/site-packages/kombu/matcher.pyr   r      s   „ Ú&r   r   c                  óZ   — e Zd ZdZeZdgZd	d„Zd
d„Zdd„Zdd„Z		 	 d	 	 	 	 	 	 	 	 	 dd„Z
y)ÚMatcherRegistryz#Pattern matching function registry.Úpcrec                ó    — i | _         d | _        y )N)Ú	_matchersÚ_default_matcher)Úselfs    r   Ú__init__zMatcherRegistry.__init__   s   € Ø57ˆŒØ8<ˆÕr   c                ó"   — || j                   |<   y)z$Add matcher by name to the registry.N)r   )r   ÚnameÚmatchers      r   ÚregisterzMatcherRegistry.register   s   € à&ˆ�‰�tÒr   c                ó~   — 	 | j                   j                  |«       y# t        $ r | j                  d|› �«      ‚w xY w)z)Remove matcher by name from the registry.úNo matcher installed for N)r   ÚpopÚKeyErrorr   ©r   r   s     r   Ú
unregisterzMatcherRegistry.unregister!   sE   € ð	Ø�N‰N×Ñ˜tÕ$øÜò 	Ø×*Ñ*Ø+¨D¨6Ð2óð ð	ús   ‚ ž<c                óp   — 	 | j                   |   | _        y# t        $ r | j                  d|› �«      ‚w xY w)aH  Set the default matching method.

        :param name: The name of the registered matching method.
            For example, `glob` (default), `pcre`, or any custom
            methods registered using :meth:`register`.

        :raises MatcherNotInstalled: If the matching method requested
            is not available.
        r!   N)r   r   r#   r   r$   s     r   Ú_set_default_matcherz$MatcherRegistry._set_default_matcher*   sD   € ð	Ø$(§N¡N°4Ñ$8ˆDÕ!øÜò 	Ø×*Ñ*Ø+¨D¨6Ð2óð ð	ús   ‚ —5Nc                ó  — |r/| j                   j                  |«      s| j                  d|› �«      ‚| j                   |xs d   }|| j                  v rt	        |«      }t	        |«      }nt	        |«      }t	        |«      } |||fi |xs i ¤ŽS )zCall the matcher.r!   Úglob)r   Úgetr   Úmatcher_pattern_firstr
   )r   ÚdataÚpatternr   Úmatcher_kwargsÚ
match_funcÚ	first_argÚ
second_args           r   r   zMatcherRegistry.match;   s—   € ñ ˜4Ÿ>™>×-Ñ-¨gÔ6Ø×*Ñ*Ø+¨G¨9Ð5óð ð —^‘^ GÒ$5¨vÑ6ˆ
Ø�d×0Ñ0Ñ0Ü$ WÓ-ˆIÜ% dÓ+‰Jä$ TÓ*ˆIÜ% gÓ.ˆJÙ˜) ZÑH°>Ò3GÀRÑHÐHr   ©ÚreturnÚNone)r   Ústrr   ÚMatcherFunctionr3   r4   )r   r5   r3   r4   )NN)
r,   Úbytesr-   r7   r   z
str | Noner.   zdict[str, str] | Noner3   Úbool)r   r   r   r   r   r+   r   r   r%   r'   r   r   r   r   r   r      sj   „ Ù-à-ÐØ#˜JÐó=ó'óóð* #Ø04ðIàðIð ðIð ð	Ið
 .ðIð 
ôIr   r   c                 ó8   — t         j                  dt        «       y)z$Register glob into default registry.r)   N)Úregistryr   r   r   r   r   Úregister_globr;   }   s   € ä×Ñ�fœgÕ&r   c                 óT   — t         j                  dt        t        t        «      «       y)z$Register pcre into default registry.r   N)r:   r   r   r6   Úrematchr   r   r   Úregister_pcrer>   ‚   s   € ä×Ñ�fœd¤?´GÓ<Õ=r   r)   zkombu.matchersNr2   )r   Ú
__future__r   r   Úrer   r=   Útypingr   r   Úutils.compatr	   Úutils.encodingr
   r5   r8   r6   Ú	Exceptionr   r   r:   r   r%   r;   r>   r'   ÚepÚargsr   r   r   r   ú<module>rG      sÖ   ðÙ  å "å Ý ß !å %Ý (à˜C ˜: tÐ+Ñ,€ô'˜)ô '÷;Iñ ;Iñ~ Ó€ðð* 	�‰€ðð ×Ñ€ðð × Ñ €
ó'ó
>ñ „Ù „ð 	× Ñ ˜fÔ %ñ Ð,Ó-ò �H€BˆÙˆR�W‰WÐ�tÔñr   