§
    ÷yIf8  ã                  óh   — d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
mZmZmZ  G d„ d¦  «        ZdS )é    )Úannotations)ÚNoReturn)ÚDeletedMessageErrorÚInvalidMessageErrorÚMessageBecameExtensionErrorÚUnknownMessageError)Úis_deleted_msgidÚis_deleted_symbolÚis_moved_msgidÚis_moved_symbolc                  ó’   — e Zd ZdZdd„Zdd„Zdd„Zd d
„Zd!d„Zd"d„Z	d#d„Z
d$d„Zd#d„Zed%d„¦   «         Zed&d„¦   «         Zd'd„ZdS )(ÚMessageIdStorezpThe MessageIdStore store MessageId and make sure that there is a 1-1 relation
    between msgid and symbol.
    ÚreturnÚNonec                ó>   — i | _         i | _        i | _        i | _        d S ©N)Ú _MessageIdStore__msgid_to_symbolÚ _MessageIdStore__symbol_to_msgidÚ_MessageIdStore__old_namesÚ_MessageIdStore__active_msgids©Úselfs    úS/var/www/piapp/venv/lib/python3.11/site-packages/pylint/message/message_id_store.pyÚ__init__zMessageIdStore.__init__   s(   € Ø13ˆÔØ13ˆÔØ13ˆÔØ57ˆÔÐÐó    Úintc                ó*   — t          | j        ¦  «        S r   )Úlenr   r   s    r   Ú__len__zMessageIdStore.__len__"   s   € Ý�4Ô)Ñ*Ô*Ð*r   Ústrc                ój   — d}| j                              ¦   «         D ]\  }}|d|› d|› d�z  }Œ|dz  }|S )NzMessageIdStore: [
z  - z (z)
ú])r   Úitems)r   ÚresultÚmsgidÚsymbols       r   Ú__repr__zMessageIdStore.__repr__%   sW   € Ø&ˆØ!Ô3×9Ò9Ñ;Ô;ð 	2ð 	2‰MˆE�6ØÐ1˜UÐ1Ð1 fÐ1Ð1Ð1Ñ1ˆFˆFØ�#‰ˆØˆr   r%   c                ó’   — 	 | j         |                     ¦   «                  S # t          $ r}d|› d�}t          |¦  «        |‚d }~ww xY w©Nú'z%' is not stored in the message store.)r   ÚupperÚKeyErrorr   )r   r%   ÚeÚmsgs       r   Ú
get_symbolzMessageIdStore.get_symbol,   s\   € ð	2ØÔ)¨%¯+ª+©-¬-Ô8Ð8øÝð 	2ð 	2ð 	2ØB�eÐBÐBÐBˆCÝ% cÑ*Ô*°Ð1øøøøð	2øøøs   ‚! ¡
A«AÁAr&   c                ón   — 	 | j         |         S # t          $ r}d|› d�}t          |¦  «        |‚d }~ww xY wr)   )r   r,   r   )r   r&   r-   r.   s       r   Ú	get_msgidzMessageIdStore.get_msgid3   sT   € ð	2ØÔ)¨&Ô1Ð1øÝð 	2ð 	2ð 	2ØC�fÐCÐCÐCˆCÝ% cÑ*Ô*°Ð1øøøøð	2øøøs   ‚ �
4™/¯4Ú	old_namesúlist[tuple[str, str]]c                óÈ   — |                       ||¦  «         |                      ||¦  «         |D ]2\  }}|                       ||¦  «         |                      |||¦  «         Œ3d S r   )Úcheck_msgid_and_symbolÚadd_msgid_and_symbolÚadd_legacy_msgid_and_symbol)r   r%   r&   r2   Ú	old_msgidÚ
old_symbols         r   Úregister_message_definitionz*MessageIdStore.register_message_definition:   sƒ   € ð 	×#Ò# E¨6Ñ2Ô2Ð2Ø×!Ò! %¨Ñ0Ô0Ð0Ø%.ð 	Kð 	KÑ!ˆI�zØ×'Ò'¨	°:Ñ>Ô>Ð>Ø×,Ò,¨Y¸
ÀEÑJÔJÐJÐJð	Kð 	Kr   c                ó.   — || j         |<   || j        |<   dS )z°Add valid message id.

        There is a little duplication with add_legacy_msgid_and_symbol to avoid a function call,
        this is called a lot at initialization.
        N)r   r   )r   r%   r&   s      r   r6   z#MessageIdStore.add_msgid_and_symbolC   s$   € ð )/ˆÔ˜uÑ%Ø).ˆÔ˜vÑ&Ð&Ð&r   Ú	new_msgidc                ó¢   — || j         |<   || j        |<   | j                             |g ¦  «        }|                     |¦  «         || j        |<   dS )z°Add valid legacy message id.

        There is a little duplication with add_msgid_and_symbol to avoid a function call,
        this is called a lot at initialization.
        N)r   r   r   ÚgetÚappend)r   r%   r&   r<   Úexisting_old_namess        r   r7   z*MessageIdStore.add_legacy_msgid_and_symbolL   s^   € ð )/ˆÔ˜uÑ%Ø).ˆÔ˜vÑ&Ø!Ô-×1Ò1°%¸Ñ<Ô<ÐØ×!Ò! )Ñ,Ô,Ð,Ø"4ˆÔ˜ÑÐÐr   c                óþ   — | j                              |¦  «        }| j                             |¦  «        }|€|€d S |�||k    r|                      |||¦  «         |r||k    r|                      |||¦  «         d S d S d S r   )r   r>   r   Ú_raise_duplicate_msgidÚ_raise_duplicate_symbol)r   r%   r&   Úexisting_msgidÚexisting_symbols        r   r5   z%MessageIdStore.check_msgid_and_symbolZ   sª   € Ø%)Ô%;×%?Ò%?ÀÑ%GÔ%GˆØ&*Ô&<×&@Ò&@ÀÑ&GÔ&GˆØÐ" ~Ð'=ØˆFØÐ%Ø Ò&Ð&Ø×+Ò+¨F°E¸>ÑJÔJÐJØð 	I˜°&Ò8Ð8à×(Ò(¨°¸ÑHÔHÐHÐHÐHð	Ið 	IÐ8Ð8r   Úother_symbolr   c                óŒ   — ||g}|                      ¦   «          d| › d�}|d|d         › d|d         › d�z  }t          |¦  «        ‚)z+Raise an error when a symbol is duplicated.zMessage id 'z' cannot have both r*   r   ú' and 'é   z' as symbolic name.©Úsortr   )r%   r&   rF   ÚsymbolsÚerror_messages        r   rC   z&MessageIdStore._raise_duplicate_symbolf   s_   € ð ˜<Ð(ˆØ�Š‰ŒˆØA uÐAÐAÐAˆØÐO˜W QœZÐOÐO°¸´
ÐOÐOÐOÑOˆÝ! -Ñ0Ô0Ð0r   Úother_msgidc           	     ó†   — ||g}|                      ¦   «          d| › d|d         › d|d         › d| › d�	}t          |¦  «        ‚)z*Raise an error when a msgid is duplicated.zMessage symbol 'z' cannot be used for 'r   rH   rI   z?' at the same time. If you're creating an 'old_names' use 'old-z' as the old symbol.rJ   )r&   r%   rN   ÚmsgidsrM   s        r   rB   z%MessageIdStore._raise_duplicate_msgido   s   € ð ˜Ð%ˆØ�Š‰ŒˆðX˜vð Xð XØ�q”	ðXð XØ"(¨¤)ðXð Xà;AðXð Xð Xð 	õ
 " -Ñ0Ô0Ð0r   Úmsgid_or_symbolú	list[str]c                óf  — 	 | j         |         S # t          $ r Y nw xY wd}d}|dd…                              ¦   «         rQ|                     ¦   «         }| j                             |¦  «        }|s t          |¦  «        }|€t          |¦  «        }n>|}| j                             |¦  «        }|s t          |¦  «        }|€t          |¦  «        }|r|s9|�t          ||¦  «        ‚|�t          ||¦  «        ‚d|› d�}t          |¦  «        ‚| j                             ||g¦  «        }|| j         |<   |S )z�Return msgids but the input can be a symbol.

        self.__active_msgids is used to implement a primitive cache for this function.
        NrI   zNo such message id or symbol 'z'.)r   r,   Úisdigitr+   r   r>   r	   r   r   r
   r   r   r   r   r   )r   rQ   Údeletion_reasonÚmoved_reasonr%   r&   Ú	error_msgÚidss           r   Úget_active_msgidsz MessageIdStore.get_active_msgids{   sv  € ð
	ØÔ'¨Ô8Ð8øÝð 	ð 	ð 	ØˆDð	øøøð
 ˆØˆØ˜1˜2˜2Ô×&Ò&Ñ(Ô(ð 	;à#×)Ò)Ñ+Ô+ˆEØÔ+×/Ò/°Ñ6Ô6ˆFØð 9Ý"2°5Ñ"9Ô"9�Ø"Ð*Ý#1°%Ñ#8Ô#8�Løà$ˆFØÔ*×.Ò.¨Ñ?Ô?ˆEØð ;Ý"3°FÑ";Ô";�Ø"Ð*Ý#2°6Ñ#:Ô#:�LØð 	1˜Fð 	1ØÐ*Ý)¨/¸?ÑKÔKÐKØÐ'Ý1°/À<ÑPÔPÐPØL¸ÐLÐLÐLˆIÝ% iÑ0Ô0Ð0ØÔ×"Ò" 5¨5¨'Ñ2Ô2ˆà03ˆÔ˜_Ñ-Øˆ
s   ‚ �
›N)r   r   )r   r   )r   r    )r%   r    r   r    )r&   r    r   r    )r%   r    r&   r    r2   r3   r   r   )r%   r    r&   r    r   r   )r%   r    r&   r    r<   r    r   r   )r%   r    r&   r    rF   r    r   r   )r&   r    r%   r    rN   r    r   r   )rQ   r    r   rR   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r'   r/   r1   r:   r6   r7   r5   ÚstaticmethodrC   rB   rY   © r   r   r   r      s.  € € € € € ðð ð8ð 8ð 8ð 8ð+ð +ð +ð +ðð ð ð ð2ð 2ð 2ð 2ð2ð 2ð 2ð 2ðKð Kð Kð Kð/ð /ð /ð /ð5ð 5ð 5ð 5ð
Ið 
Ið 
Ið 
Ið ð1ð 1ð 1ñ „\ð1ð ð	1ð 	1ð 	1ñ „\ð	1ð'ð 'ð 'ð 'ð 'ð 'r   r   N)Ú
__future__r   Útypingr   Úpylint.exceptionsr   r   r   r   Ú#pylint.message._deleted_message_idsr	   r
   r   r   r   r_   r   r   ú<module>rd      sß   ðð
 #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ðKð Kð Kð Kð Kñ Kô Kð Kð Kð Kr   