Ë
    ZÇ»ib
  ã                  óp   — U d dl mZ d dlZd dlmZ d dlmZ dZded<   dZ	ded	<    G d
„ d«      Z
 e
«       Zy)é    )ÚannotationsN)ÚAny)Ú	BaseModelé   ÚintÚDEFAULT_MAX_LIST_LENGTHéÈ   ÚDEFAULT_MAX_STRING_LENGTHc                  ó8   — e Zd ZdZdd„Zd	d„Zd
d„Zdd„Zdd„Zy)Ú
PrettifierzñPrettyfy any object for logging.

    I.e.: truncate long lists and strings, even nested.

    Max list and string length can be configured using env variables:
    - LOGGING__MAX_LIST_LENGTH (int)
    - LOGGING__MAX_STRING_LENGTH (int)
    c                óÌ   — t        t        j                  j                  dt        «      «      | _        t        t        j                  j                  dt        «      «      | _        y )NÚLOGGING__MAX_LIST_LENGTHÚLOGGING__MAX_STRING_LENGTH)r   ÚosÚenvironÚgetr   Úmax_list_lengthr
   Úmax_string_length)Úselfs    úZ/opt/lhia/marcimex/agent/venv/lib/python3.12/site-packages/neo4j_graphrag/utils/logging.pyÚ__init__zPrettifier.__init__$   sF   € Ü"ÜJ‰JN‰NÐ5Ô7NÓOó 
ˆÔô "%ÜJ‰JN‰NÐ7Ô9RÓSó"
ˆÕó    c                ób   — |j                  «       D ci c]  \  }}| | |«      “Œ c}}S c c}}w )N)Úitems)r   ÚvalueÚkÚvs       r   Ú_prettify_dictzPrettifier._prettify_dict,   s6   € ð Ÿ™›÷
á1ð ‰tA‹w‰Jó
ð 	
ùó 
s   ”+c                ó¶   — |d | j                    D cg c]
  } | |«      ‘Œ }}t        |«      t        |«      z
  }|dkD  r|j                  d|› d«       |S c c}w )Nr   ú... (z items))r   ÚlenÚappend)r   r   r   r   Úremaining_itemss        r   Ú_prettify_listzPrettifier._prettify_list2   so   € ð Ð1˜T×1Ñ1Ð2ö
àñ Gð
ˆð 
ô ˜e›*¤s¨5£zÑ1ˆØ˜QÒØL‰L˜5 Ð 1°Ð9Ô:Øˆùò
s   ’Ac                ón   — |d | j                    }t        |«      t        |«      z
  }|dkD  r	|d|› dz  }|S )Nr   r    z chars))r   r!   )r   r   Ú	new_valueÚremaining_charss       r   Ú_prettify_strzPrettifier._prettify_str<   sI   € ØÐ2˜D×2Ñ2Ð3ˆ	Ü˜e›*¤s¨9£~Ñ5ˆØ˜QÒØ˜5 Ð 1°Ð9Ñ9ˆIØÐr   c                ó  — t        |t        «      r| j                  |«      S t        |t        «      r | |j	                  «       «      S t        |t
        «      r| j                  |«      S t        |t        «      r| j                  |«      S |S )z=Takes any value and returns a prettified version for logging.)	Ú
isinstanceÚdictr   r   Ú
model_dumpÚlistr$   Ústrr(   )r   r   s     r   Ú__call__zPrettifier.__call__C   sv   € äeœTÔ"Ø×&Ñ& uÓ-Ð-ÜeœYÔ'Ù˜×(Ñ(Ó*Ó+Ð+ÜeœTÔ"Ø×&Ñ& uÓ-Ð-ÜeœSÔ!Ø×%Ñ% eÓ,Ð,Øˆr   N)ÚreturnÚNone)r   údict[Any, Any]r0   r2   )r   ú	list[Any]r0   r3   )r   r.   r0   r.   )r   r   r0   r   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r$   r(   r/   © r   r   r   r      s    „ ñó
ó
óóô
r   r   )Ú
__future__r   r   Útypingr   Úpydanticr   r   Ú__annotations__r
   r   Úprettifyr8   r   r   ú<module>r>      s=   ðö #ã 	Ý å à Ð ˜Ó  Ø!$Ð ˜3Ó $÷3ñ 3ñl ‹<r   