
    h
                        S r SSKrSSKJrJrJrJrJrJrJ	r	J
r
  SSKrSSKJr  SSKJr  \\\
\
/\\\	\\\4      /S4   \/ S4   4   4   r/ 4S\\\4   S\\   S\\\\   \4      4S	 jjrS
\\\4   S\\\4   4S jrS\\\4   S\\\4   4S jr SS\	\\      S\\/\4   4S jjr\R0                  \R2                  4SSS\
S\
S\\\4   4S jjrg)z1
Configuration utilities copied from spacy.util.
    N)DictAnyTupleCallableIteratorListOptionalIO)Language)registrynodeparentreturnc              #      #    U R                  5        H:  u  p#/ UQUPn[        U[        5      (       a  [        X45       Sh  vN   M5  XC4v   M<     g N7f)z8Walk a dict and yield the path and values of the leaves.N)items
isinstancedict	walk_dict)r   r   keyvalue
key_parents        L/home/james-whalen/.local/lib/python3.13/site-packages/spacy_loggers/util.pyr   r      sO      jjl
#v^s^
eT"" 333%% # 4s   ?AAAvaluesc                     0 nU R                  5        He  u  p#UnUR                  5       R                  S5      n[        U5       H0  u  pgU[	        U5      S-
  :H  nUR                  Xx(       a  UO0 5      nM2     Mg     U$ )zConvert dot notation to a dict. For example: {"token.pos": True,
"token._.xyz": True} becomes {"token": {"pos": True, "_": {"xyz": True }}}.

values (Dict[str, Any]): The key/value pairs to convert.
RETURNS (Dict[str, dict]): The converted values.
.   )r   lowersplit	enumeratelen
setdefault)	r   resultr   r   pathpartsiitemis_lasts	            r   dot_to_dictr(      st     Flln
		!!#& 'GA3u:>)G??4'rBD ( % M    objc                 n    [        U 5       VVs0 s H  u  pSR                  U5      U_M     snn$ s  snnf )zConvert dot notation to a dict. For example: {"token": {"pos": True,
"_": {"xyz": True }}} becomes {"token.pos": True, "token._.xyz": True}.

values (Dict[str, dict]): The dict to convert.
RETURNS (Dict[str, Any]): The key/value pairs.
r   )r   join)r*   r   r   s      r   dict_to_dotr-   /   s/     4=S>B>ZSCHHSM5 >BBBs   1regexpsc                 
  ^  / mU b;  U  H5  nTR                  [        R                  " U[        R                  S95        M7     S[        S[        4U4S jjnU$ ! [        R                   a  n[        SW S35      UeS nAff = f)N)flagszRegular expression `z/` couldn't be compiled for logger stats matcherstringr   c                 H   > T H  nUR                  U 5      (       d  M    g   g)NTF)search)r1   regexcompileds     r   is_match,matcher_for_regex_patterns.<locals>.is_matchF   s$    E||F##  r)   )appendrecompile	MULTILINEerror
ValueErrorstrbool)r.   r4   errr6   r5   s       @r   matcher_for_regex_patternsrA   9   s     

5 EF !   O 88 "5')XY
	s   A A B-A==Bnlpr   stdoutstderrc                 X    [         R                  " SS5      nU" SS9nU" XU5      u  pVXV4$ )Nloggerszspacy.ConsoleLogger.v1F)progress_bar)r   get)rB   rC   rD   console_loggerconsoleconsole_log_stepconsole_finalizes          r   setup_default_console_loggerrM   O   s8     \\)-EFN%0G)0f)E&--r)   )N)__doc__systypingr   r   r   r   r   r   r	   r
   r9   spacyr   
spacy.utilr   r>   LoggerTr   r   r(   r-   r?   rA   rC   rD   rM    r)   r   <module>rU      sb    K K K 	   r2	(HT#s(^,-t3
4hr4x6H
HIK /1	&
sCx.	&"&s)	&eDIsN#$	&S#X 4T	? "CT#t)_ Cc3h C $(d3i seTk. #&**3::.	..68.
8X.r)   