ó
    Ð]jÞ  ã                   ó˜   • S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSKrSSK	J
r
  S rS rS rSS	 jr " S
 S\5      r " S S\5      rg)zE
Helpers for logging.

This module needs much love to become useful.
é    )Úprint_functionNé   )Úmkdirpc                 ól   • [         R                  R                  S5      (       a  [        SU S-
  5      $ U $ )z–Remove .1s to the time under Windows: this is the time it take to
stat files. This is needed to make results similar to timings under
Unix, for tests
Úwinr   gš™™™™™¹?)ÚsysÚplatformÚ
startswithÚmax©Úts    ÚJ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/joblib/logger.pyÚ_squeeze_timer      s.   € ô
 ‡|�|×Ñ˜u×%Ñ%Ü�1�a˜#‘g‹Ðàˆó    c                 ó*   • [        U 5      n SX S-  4-  $ )Nz%.1fs, %.1fminç      N@©r   r   s    r   Úformat_timer   "   s   € Ü�aÓ€AØ˜q d¡(˜mÑ+Ð+r   c                 ó>   • [        U 5      n U S:”  a  SU S-  -  $ SU -  $ )Né<   z%4.1fminr   z %5.1fsr   r   s    r   Úshort_format_timer   '   s,   € Ü�aÓ€AØˆ2ƒvØ˜Q ™XÑ&Ð&à˜A‰Ðr   c                 óÚ   • S[         R                  ;   a&  SS KnUR                  5       nUR	                  SSSS9  OS n[
        R                  " XUS9nU(       a  WR                  " S0 UD6  U$ )	NÚnumpyr   é   é@   r   )Ú	precisionÚ	thresholdÚ	edgeitems)ÚdepthÚindent© )r   Úmodulesr   Úget_printoptionsÚset_printoptionsÚpprintÚpformat)Úobjr    r   ÚnpÚprint_optionsÚouts         r   r&   r&   /   sb   € Ø”#—+‘+ÓÛà×+Ñ+Ó-ˆØ
×Ñ a°2ÀÐÒCàˆÜ
�.Š.˜°&Ñ
9€CÞØ
×ÒÑ,˜mÒ,Ø€Jr   c                   ó>   • \ rS rSrSrS
S jrS rS rS rSS jr	S	r
g)ÚLoggerr   z Base class for logging messages.Nc                 ó:   • Xl         U(       a  X l        gSU l        g)zœ
Parameters
----------
depth: int, optional
    The depth of objects printed.
name: str, optional
    The namespace to log to. If None, defaults to joblib.
ÚjoblibN)r   Ú_name)Úselfr   Únames      r   Ú__init__ÚLogger.__init__C   s   € ð Œ
Þ!�T�
 xˆ�
r   c                 ór   • [         R                  " U R                  5      R                  SU < SU< 35        g ©NÚ[z]: )ÚloggingÚ	getLoggerr/   Úwarning©r0   Úmsgs     r   ÚwarnÚLogger.warnO   s$   € Ü×Ò˜$Ÿ*™*Ó%×-Ò-»DÂ#Ð.FÕGr   c                 ó@   • [         R                  " SU < SU< 35        g r5   )r7   Úinfor:   s     r   r?   ÚLogger.infoR   s   € Ü�‹£4ªÐ-Õ.r   c                 ór   • [         R                  " U R                  5      R                  SU < SU< 35        g r5   )r7   r8   r/   Údebugr:   s     r   rB   ÚLogger.debugU   s$   € ä×Ò˜$Ÿ*™*Ó%×+Ò+»$ÂÐ,DÕEr   c                 ó*   • [        XU R                  S9$ )z2Return the formatted representation of the object.)r    r   )r&   r   )r0   r'   r    s      r   ÚformatÚLogger.formatY   s   € ä�s°·±Ñ<Ð<r   )r/   r   )é   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r2   r<   r?   rB   rE   Ú__static_attributes__r!   r   r   r,   r,   @   s    † Ù*ô
0òHò/òF÷=r   r,   c                   ó,   • \ rS rSrSrSS jrSS jrSrg)	Ú	PrintTimeéa   z3Print and log messages while keeping track of time.Nc                 ó  • Ub  Ub  [        S5      e[        R                  " 5       U l        U R                  U l        Ub   [        R
                  R                  US5      nXl        Ubú  [        [        R
                  R                  U5      5        [        R
                  R                  U5      (       aT  [        SS5       H*  n [        R                  " USU-  -   USUS-   -  -   5        M,      [        R                  " XS-   5         [        US5       nUR!                  S5        UR!                  S	[        R"                  " U R                  5      -  5        S S S 5        g g !    M¨  = f!    Ng= f! , (       d  f       g = f!    g = f)
Nz&Cannot specify both logfile and logdirz
joblib.logr   é	   z.%iz.1Úwz
Logging joblib python script
z

---%s---
)Ú
ValueErrorÚtimeÚ	last_timeÚ
start_timeÚosÚpathÚjoinÚlogfiler   ÚdirnameÚexistsÚrangeÚshutilÚmoveÚcopyÚopenÚwriteÚctime)r0   r[   ÚlogdirÚis       r   r2   ÚPrintTime.__init__d   s;  € ØÑ 6Ñ#5ÜÐEÓFÐFäŸš›ˆŒØŸ.™.ˆŒØÑÜ—g‘g—l‘l 6¨<Ó8ˆGØŒØÑÜ”2—7‘7—?‘? 7Ó+Ô,Ü�w‰w�~‰~˜g×&Ñ&ä˜q !ž�Að1ÜŸš G¨e°a©iÑ$7¸À5ÈAÐPQÉEÁ?Ñ9RÖSñ %ð-Ü—K’K °4©Ô8ðÜ˜' 3Ô'¨7Ø—M‘MÐ"DÔEØ—M‘M .´4·:²:¸d¿n¹nÓ3MÑ"MÔN÷ (Ð'ð! øð1Ú0ûð
-Ù,úç'Õ'ûðñúsC   Ã&E$Ã0E, Ä
F ÄAE3ÅF Å$E)Å,E0Å3
FÅ=F ÆF ÆFc                 óÔ  • U(       d5  [         R                   " 5       U R                  -
  nU< S[        U5      < 3nO,[         R                   " 5       U R                  -
  nSXUS-  4-  n[	        U[
        R                  S9  U R                  b)   [        U R                  S5       n[	        XES9  SSS5        [         R                   " 5       U l        g! , (       d  f       N)= f!    N0= f)z]Print the time elapsed between the last call and the current
call, with an optional message.
z: z%s: %.2fs, %.1f minr   )ÚfileNÚa)	rU   rV   r   rW   Úprintr   Ústderrr[   rb   )r0   r;   ÚtotalÚ
time_lapseÚfull_msgÚfs         r   Ú__call__ÚPrintTime.__call__ˆ   s°   € ö ÜŸš› t§~¡~Ñ5ˆJÛ#&¬°JÕ(?Ð@‰Hô Ÿš› t§¡Ñ6ˆJØ,°ÀÈbÁÐ/QÑQˆHÜˆhœSŸZ™ZÒ(Ø�<‰<Ñ#ðÜ˜$Ÿ,™,¨Ô,°Ü˜(Ò+÷ -ô Ÿš›ˆ�÷ -Õ,ûðñús*   ÂC# Â%
CÂ/C# Ã
C ÃC# Ã C# Ã#C')rV   r[   rW   )NN)Ú F)rH   rI   rJ   rK   rL   r2   rq   rM   r!   r   r   rO   rO   a   s   † Ù=ô ÷H%r   rO   )r   rG   )rL   Ú
__future__r   r7   rX   r%   r_   r   rU   Údiskr   r   r   r   r&   Úobjectr,   rO   r!   r   r   Ú<module>rw      sQ   ðñõ &ã Û 	Û Û Û 
Û å òò,ò
ôô"=ˆVô =ôB>%�õ >%r   