� <��gZ1���ddlZddlZddlZddlZddlZddlmZddlmZddlm Z ddl m Z d�Z d�Z d �ZGd �d e��ZGd �d ��ZdS)�N)�contextmanager)�Thread�)� Colorizer)�create_handler_lockc�X�tj|��}||�|��fS�N)r�prepare_format�colorize)�format_� ansi_level�coloreds �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/loguru/_handler.py�prepare_colored_formatr s+���&�w�/�/�G� �G�$�$�Z�0�0� 0�0�c�R�tj|��}|���Sr )rr �strip)r rs r�prepare_stripped_formatrs ���&�w�/�/�G� �=�=�?�?�rc�>�tjd���|��S)N�@)�maxsize)� functools� lru_cache)�functions r�memoizers �� *�9� �r� *� *� *�8� 4� 4�4rc��eZdZdZdS)�Message)�recordN)�__name__� __module__� __qualname__� __slots__�rrrrs�������I�I�Irrc��eZdZd�Zd�Zed���Zd�Zd�Zd�Z d�Z d�Z e d ���Z ed ���Zd �Zd �Zd �ZdS)�Handlerc���||_||_||_||_||_||_||_||_| |_| |_ | |_ | |_ | |_ ||_ d|_i|_d|_d|_t%��|_t)j��|_d|_d|_d|_d|_d|_d|_|jr;|jrt;t<��|_n_t;t>��|_nE|jr |j D]}|� |���n|j�!��|_|j�r|j �ItEj#��|_tEj$��|_tEj%��|_nZ|j �#��|_|j �$��|_|j �%��|_t%��|_tMj'��|_tQ|j)dd|j z���|_|j�*��dSdS)NFTzloguru-writer-%d)�target�daemon�name)+�_name�_sink�_levelno� _formatter�_is_formatter_dynamic�_filter� _colorize� _serialize�_enqueue�_multiprocessing_context�_error_interceptor�_exception_formatter�_id�_levels_ansi_codes�_decolorized_format�_precolorized_formats�_memoize_dynamic_format�_stoppedr�_lock� threading�local�_lock_acquired�_queue� _queue_lock�_confirmation_event�_confirmation_lock�_owner_process_pid�_threadrrr� update_formatr�multiprocessing� SimpleQueue�Event�Lock�os�getpidr�_queued_writer�start)�self�sinkr)�levelno� formatter�is_formatter_dynamic�filter_r � serialize�enqueue�multiprocessing_context�error_interceptor�exception_formatter�id_�levels_ansi_codes� level_names r�__init__zHandler.__init__ s]��$�� ��� ��� �#���%9��"��� �!���#����� �(?��%�"3���$7��!����"3���#'�� �%'��"�'+��$��� �(�*�*�� �'�o�/�/����� ����#'�� �"&���"&����� � � %� C��~� P�/6�7M�/N�/N��,�,�/6�7N�/O�/O��,�,��~� C�"&�"9�3�3�J��&�&�z�2�2�2�2�3�,0�?�+@�+@�+B�+B��(� �=� !��,�4�-�9�;�;�� �+:�+@�+B�+B��(�*9�*>�*@�*@��'�'�"�;�G�G�I�I�� �+/�+H�+N�+N�+P�+P��(�*.�*G�*L�*L�*N�*N��'�2�4�4�D� �&(�i�k�k�D� #�!��*�4�>P�SW�S[�>[����D�L� �L� � � � � � � � !� !rc�0�d|j|j|jfzS)Nz(id=%d, level=%d, sink=%s))r6r,r*�rOs r�__repr__zHandler.__repr__ks��+�t�x���� �.S�S�Src#��K�t|jdd��rtd���d|j_ |j5dV�ddd��n #1swxYwYd|j_dS#d|j_wxYw)zNAcquire the lock, but fail fast if its already acquired by the current thread.�acquiredFa Could not acquire internal lock because it was already in use (deadlock avoided). This likely happened because the logger was re-used inside a sink, a signal handler or a '__del__' method. This is not permitted because the logger and its handlers are not re-entrant.TN)�getattrr?� RuntimeErrorrbr<r_s r�_protected_lockzHandler._protected_lockns����� �4�&� �E� :� :� ��/��� � (,���$� 1��� � ����� � � � � � � � � � � ���� � � � �,1�D� � (� (� (��5�D� � (� 0� 0� 0� 0s.�A&�A � A&� A�A&�A�A&�&A4c� � |j|djkrdS|j�|�|��sdS|jr|�|��}|���}|dsd|d<nD|d\}} } |j} | �|| | |���} d�| ��|d<|�|j |dkrd}|r7|�|j s |d} �n�|j |}|� |��} �n�|jr�|j s,|� |��}|�|��} �nK|�=|j |}|� ||��\}}|�|��} �n |j |}|� ||��\} }| �|d||���}||d<|�|��} n�|j s|j}|�|��} n�|�0|j |}|j|}|�|��} nW|j |}|j|}|j�|d||���}||d<|�|��} |jr|�| |��} t)| ��}||_|���5|jr ddd��dS|jr|j�|��n|j�|��ddd��dS#1swxYwYdS#t:$r8|j���s�|j� |��YdSwxYw)N�level� exception�)�from_decorator�message)r �colored_message)!r,�nor/r.r-�copyr5�format_exception�join�strippedr0r7r r:� format_map�make_coloring_messager8r9r1�_serialize_recordrrrer;r2r@�putr+�write� Exceptionr4� should_catch�print)rOr�level_idrj�is_rawrl�dynamic_format�formatter_record�type_�value�tbrR�lines� formattedr �precomputed_format�_�coloring_message� str_records r�emitz Handler.emitsq��R 2��}�v�g��1�1�1����|�'��|�|�F�+�+���F��)� 9�!%����!8�!8��%�{�{�}�}� ��+�&� ?�02� ��-�-�#)�+�#6� ��u�b� �5� �!�2�2�5�%��Tb�2�c�c��02������ ��-��*��/G�6�R[�K\�/\�/\�"&���( P�"�*�$�.�*� &�y� 1�I�I�!%�!8��!B�J� /� 8� 8�� D� D�I�I��+�" P��~�P�)-�)E�)E�n�)U�)U�&� 2� =� =�>N� O� O�I�I�$�,�!%�!8��!B�J�,0�,H�,H��Yc�,d�,d�)�A�)� 2� =� =�>N� O� O�I�I�!%�!8��!B�J�48�4P�4P�&� �5�5�1�I�1�(1�'F�'F��y�)�j�Ra�(G�(�(�$�3C�$�Y�/� 2� =� =�>N� O� O�I�I��~�P�)-�)A�&� 2� =� =�>N� O� O�I�I�$�,�!%�!8��!B�J�)-�)C�H�)M�&� 2� =� =�>N� O� O�I�I�!%�!8��!B�J�)-�)C�H�)M�&�'+��'L�'L��y�)�j�Ra�(M�(�(�$�3C�$�Y�/� 2� =� =�>N� O� O�I��� F� �2�2�9�f�E�E� � ��+�+�J� &�J� ��%�%�'�'� 1� 1��=��� 1� 1� 1� 1� 1� 1� 1� 1��=�1��K�O�O�J�/�/�/�/��J�$�$�Z�0�0�0�  1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1���� 1� 1� 1� 1� 1� 1��� 2� 2� 2��*�7�7�9�9� �� � #� )� )�&� 1� 1� 1� 1� 1� 1� 2���sL�M�M�JM� L3� M�*<L3�& M�3L7�7M�:L7�;M�>N�Nc���|���5d|_|jr�|jt j��kr ddd��dS|j�d��|j� ��t|jd��r|j� ��|j � ��ddd��dS#1swxYwYdS)NT�close)rer;r2rDrKrLr@rurErp�hasattrr�r+�stopr_s rr�z Handler.stop�s,�� � !� !� #� #� � � �D�M��}� (��*�b�i�k�k�9�9�� � � � � � � � � � ����%�%�%�� �!�!�#�#�#��4�;��0�0�(��K�%�%�'�'�'� �J�O�O� � � � � � � � � � � � � � � ���� � � � � � s�,C�A:C�C�Cc���|jsdS|j5|j�d��|j���|j���ddd��dS#1swxYwYdS�NT)r2rCr@rurB�wait�clearr_s r�complete_queuezHandler.complete_queue�s����}� � �F� � $� -� -� �K�O�O�D� !� !� !� � $� )� )� +� +� +� � $� *� *� ,� ,� ,� -� -� -� -� -� -� -� -� -� -� -� -���� -� -� -� -� -� -s�A A+�+A/�2A/c���|jr|jtj��krgS|jr|jn|���}|5|j���cddd��S#1swxYwYdSr )r2rDrKrLrArer+�tasks_to_complete)rO�locks rr�zHandler.tasks_to_complete�s��� �=� �T�4�� � � �C�C��I�#'�=�L�t���d�6J�6J�6L�6L�� � 2� 2��:�/�/�1�1� 2� 2� 2� 2� 2� 2� 2� 2� 2� 2� 2� 2���� 2� 2� 2� 2� 2� 2s� A0�0A4�7A4c��|jr|jrdS|j|}|j�|��|j|<dSr )r0r.r7r-r r9)rOrz� ansi_codes rrFzHandler.update_format�sK���~� ��!;� � �F��+�H�5� �/3��/G�/G� �/R�/R��"�8�,�,�,rc��|jSr )r,r_s rrQzHandler.levelno�s ���}�rc��|d}|�0|j�dn |jj|jt|j��d�}||d|d���d�||d|dj|djd�|d|d j|d j|d j d �|d |d |d |d|dj |djd�|dj |djd�|d|d� ��d�d� d�}tj |td���dzS)Nrh)�typer� traceback�elapsed)�repr�seconds�extra�file)r)�pathrrg)�iconr)rm�linerk�moduler)�process)�idr)�thread�time)r�� timestamp) r�rhr�r�rrgr�rkr�r)r�r�r�)�textrF)�default� ensure_ascii� )r�rr�boolr�� total_secondsr)r�r�rmr�r��json�dumps�str)r�rrh� serializables rrtzHandler._serialize_record�so���;�'� � � � )�� 6���I�N�<S�"��!�)�"5�6�6���I��#�9�-�%�i�0�>�>�@�@���'����!'���!4�f�V�n�>Q�R�R�"�:�.�"�7�O�0�"�7�O�0� ��/�,��� �v��!�)�,� ��*��v��"(��"3�"6��y�@Q�@V�W�W�!'��!1�!4�f�X�>N�>S�T�T�!'���f�V�n�>V�>V�>X�>X�Y�Y�)�� � � �4�z�,��%�H�H�H�4�O�Orc���d}|j}|j} |���}nD#t$r7|5|j�d��ddd��n #1swxYwYY�WwxYw|�dS|dur|j����}|5 |j� |��n/#t$r"|j�|j ��YnwxYwddd��n #1swxYwY��r�) r@rA�getrwr4ryrB�setr+rvr)rOrk�queuer�s rrMzHandler._queued_writer"s������ ����� B� ��)�)�+�+����� � � ��8�8��+�1�1�$�7�7�7�8�8�8�8�8�8�8�8�8�8�8����8�8�8�8��� ���� �����$����(�,�,�.�.�.��� B� B�B��J�$�$�W�-�-�-�-�� �B�B�B��+�1�1�'�.�A�A�A�A�A�B���� B� B� B� B� B� B� B� B� B� B� B���� B� B� B� B� Bsh�(� A)�A� A)�A �A)�"A �#A)�(A)�C(�B-�,C(�-)C�C(�C�C(�(C,�/C,c��|j���}d|d<d|d<d|d<|jrd|d<d|d<d|d<d|d<|S)Nr<r?r:r+rE�_owner_processrA)�__dict__rnr2�rO�states r� __getstate__zHandler.__getstate__?sk��� �"�"�$�$����g��"&����+/��'�(� �=� (�!�E�'�N�#�E�)� �&*�E�"� #�#'�E�-� �� rc�L�|j�|��t��|_t j��|_|jrt��|_|j r=|j rtt��|_ dStt��|_ dSdSr )r��updaterr<r=r>r?r2rAr.r0rrr:rr�s r� __setstate__zHandler.__setstate__Ks��� � ���U�#�#�#�(�*�*�� �'�o�/�/��� �=� 5�2�4�4�D� � � %� P��~� P�/6�7M�/N�/N��,�,�,�/6�7N�/O�/O��,�,�,�  P� PrN)rr r!r]r`rrer�r�r�r�rF�propertyrQ� staticmethodrtrMr�r�r#rrr%r%s������I!�I!�I!�VT�T�T��1�1��^�1� S2�S2�S2�j � � �-�-�-�2�2�2�S�S�S� ����X���$P�$P��\�$P�LB�B�B�: � � � P� P� P� P� Prr%)rr�rGrKr=� contextlibrr� _colorizerr�_locks_machineryrrrrr�rr%r#rr�<module>r�s ������ � � � ����� � � � �����%�%�%�%�%�%�������!�!�!�!�!�!�1�1�1�1�1�1�1�1�1� ��� 5�5�5������c����vP�vP�vP�vP�vP�vP�vP�vP�vP�vPr
Memory