
    Q?h                     l    S r SrSSKJr   " S S5      r\" 5       r " S S5      r\" 5       r\" S5      rg	)
z3.3.0zALogging and warning framework, predating Python's logging package    )stderrc                   6    \ rS rSrSrS rS rS rS rS r	Sr
g	)
Logger   z{
An extended file type thing initially equivalent to sys.stderr
You can add/remove file type things; it has a write method
c                 *    [         /U l        0 U l        g N)r   _fps_fns)selfs    F/var/www/html/env/lib/python3.13/site-packages/reportlab/lib/logger.py__init__Logger.__init__   s    H		    c                     [        U[        5      (       a2  XR                  ;   a  g[        [        S5      nXR                  [        '   U R
                  R                  U5        g)z*add the file/string fp to the destinationsNwb)
isinstancestrr
   openfnr	   append)r   fps     r   add
Logger.add   sB    bYYbBIIbM		r   c                     [        U[        5      (       a.  XR                  ;  a  gUnU R                  U   nU R                  U	 XR                  ;   a'  U R                  U R                  R                  U5      	 gg)z/remove the file/string fp from the destinationsN)r   r   r
   fnsr	   index)r   r   r   s      r   removeLogger.remove   s_    b"FB2B?		$))//"-. r   c                 f    US   S:w  a  US-   nU R                    H  o"R                  U5        M     g)z"write text to all the destinations
N)r	   write)r   textr   s      r   r"   Logger.write#   s(    8T>T	4))BXXd^)r   c                 &    U R                  U5        g r   )r"   )r   r#   s     r   __call__Logger.__call__(   s    

4r   )r
   r	   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r"   r&   __static_attributes__ r   r   r   r      s     /,
r   r   c                   *    \ rS rSrSS jrS rS rSrg)WarnOnce-   c                 4    0 U l         SU-  U l        SU l        g )Nz%s:    )utteredpfxenabled)r   kinds     r   r   WarnOnce.__init__/   s    $;r   c                     XR                   ;  aC  U R                  (       a"  [        R                  U R                  U-   5        SU R                   U'   g g )Nr3   )r4   r6   loggerr"   r5   r   warnings     r   onceWarnOnce.once4   s:    ,,&||V\\$((W*<=$%DLL! 'r   c                 &    U R                  U5        g r   )r=   r;   s     r   r&   WarnOnce.__call__9   s    		'r   )r6   r5   r4   N)Warn)r(   r)   r*   r+   r   r=   r&   r-   r.   r   r   r0   r0   -   s    
&
r   r0   InfoN)	__version__r,   sysr   r   r:   r0   warnOnceinfoOncer.   r   r   <module>rG      sE   
 K ! !F x  
	&	r   