o
    
 ¢iÛ  ã                   @   s´   d Z ddlmZmZmZmZ ddlZddlmZ ddl	m
Z
 										ddee
 dee
 d	ee
 d
ee
 dee
 dee
 dee
 dee
 dee
 dee
 de
fdd„ZdS )zD
A utility logger that allows multiple loggers to be daisy-chained.
é    )ÚDictÚAnyÚOptionalÚION)ÚLanguageé   )ÚLoggerTÚlogger1Úlogger2Úlogger3Úlogger4Úlogger5Úlogger6Úlogger7Úlogger8Úlogger9Úlogger10Úreturnc
                    s:   t jt jfdtdtdtf‡ ‡‡‡‡‡‡‡‡‡	f
dd„}
|
S )NÚnlpÚstdoutÚstderrc              
      sp   ˆˆˆˆˆ	ˆ
ˆˆˆˆg
}t |ƒstdƒ‚‡‡‡fdd„|D ƒ‰ dttttf  f‡ fdd„}‡ fdd„}||fS )	Nz!No loggers passed to chain loggerc                    s    g | ]}|d ur|ˆ ˆˆƒ‘qS ©N© )Ú.0Úsetup)r   r   r   r   úG/home/ubuntu/.local/lib/python3.10/site-packages/spacy_loggers/chain.pyÚ
<listcomp>&   s    z9chain_logger_v1.<locals>.setup_logger.<locals>.<listcomp>Úinfoc                    s   ˆ D ]\}}|| ƒ qd S r   r   )r   Úlog_stepperÚ_©Ú	callbacksr   r   Úlog_step*   s   
ÿz7chain_logger_v1.<locals>.setup_logger.<locals>.log_stepc                     s   ˆ D ]\} }|ƒ  qd S r   r   )r   Ú	finalizerr    r   r   Úfinalize/   s   ÿz7chain_logger_v1.<locals>.setup_logger.<locals>.finalize)ÚanyÚ
ValueErrorr   r   Ústrr   )r   r   r   Úloggersr"   r$   ©
r	   r   r
   r   r   r   r   r   r   r   )r!   r   r   r   r   Úsetup_logger   s&   öÿz%chain_logger_v1.<locals>.setup_logger)Úsysr   r   r   r   )r	   r
   r   r   r   r   r   r   r   r   r*   r   r)   r   Úchain_logger_v1   s   6r,   )
NNNNNNNNNN)Ú__doc__Útypingr   r   r   r   r+   Úspacyr   Úutilr   r,   r   r   r   r   Ú<module>   sL    öÿþýüûúùø	÷
öõ