o
    
 ¢i¶  ã                   @   sb   d Z ddlmZmZmZmZmZ ddlZddlm	Z	 ddl
mZmZmZ dee defd	d
„ZdS )zO
A utility logger that looks up specific statistics and prints them to stdout.
é    )ÚDictÚAnyÚOptionalÚIOÚListN)ÚLanguageé   )Údict_to_dotÚLoggerTÚmatcher_for_regex_patternsÚpatternsÚreturnc                    s(   t jt jfdtdtdtf‡ fdd„}|S )NÚnlpÚstdoutÚstderrc                    sL   t ˆƒdkr
tdƒ‚tˆƒ‰ dttttf  f‡ ‡fdd„}dd„ }||fS )Nr   z1Lookup logger should receive at least one patternÚinfoc                    sH   | d u rd S t | ƒ}| ¡ D ]\}}ˆ |ƒr!ˆ |dt|ƒdg¡ qd S )Nz -> Ú
)r	   ÚitemsÚ
writelinesÚstr)r   Ú
config_dotÚkÚv©Ú
match_statr   © úH/home/ubuntu/.local/lib/python3.10/site-packages/spacy_loggers/lookup.pyÚlog_step   s   €þz8lookup_logger_v1.<locals>.setup_logger.<locals>.log_stepc                   S   s   d S )Nr   r   r   r   r   Úfinalize   s   z8lookup_logger_v1.<locals>.setup_logger.<locals>.finalize)ÚlenÚ
ValueErrorr   r   r   r   r   )r   r   r   r   r   ©r   r   r   Úsetup_logger   s    z&lookup_logger_v1.<locals>.setup_logger)Úsysr   r   r   r   )r   r"   r   r!   r   Úlookup_logger_v1   s   $r$   )Ú__doc__Útypingr   r   r   r   r   r#   Úspacyr   Úutilr	   r
   r   r   r$   r   r   r   r   Ú<module>   s    