
    kf                         d Z dZddlmZ  G d d          Z e            Z G d d          Z e            Z ed          Zd	S )
z3.3.0zALogging and warning framework, predating Python's logging package    )stderrc                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )Loggerz
    An extended file type thing initially equivalent to sys.stderr
    You can add/remove file type things; it has a write method
    c                 .    t           g| _        i | _        d S N)r   _fps_fns)selfs    T/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/reportlab/lib/logger.py__init__zLogger.__init__   s    H				    c                     t          |t                    r/|| j        v rdS t          t          d          }|| j        t          <   | j                            |           dS )z*add the file/string fp to the destinationsNwb)
isinstancestrr	   openfnr   append)r
   fps     r   addz
Logger.add   sW    b 	TYbBDIbM	r   c                     t          |t                    r"|| j        vrdS |}| j        |         }| j        |= || j        v r"| j        | j                            |          = dS dS )z/remove the file/string fp from the destinationsN)r   r   r	   fnsr   index)r
   r   r   s      r   removezLogger.remove   sn    b 	""FFB2B??	$)//"--... ?r   c                 f    |d         dk    r|dz   }| j         D ]}|                    |           dS )z"write text to all the destinations
N)r   write)r
   textr   s      r   r   zLogger.write#   s:    8T>>T	4)++BRXXd^^^^++r   c                 0    |                      |           d S r   )r   )r
   r   s     r   __call__zLogger.__call__(   s    

4r   N)	__name__
__module____qualname____doc__r   r   r   r   r!    r   r   r   r      si             / / /, , ,
    r   r   c                   "    e Zd ZddZd Zd ZdS )WarnOnceWarnc                 6    i | _         d|z  | _        d| _        d S )Nz%s:    )utteredpfxenabled)r
   kinds     r   r   zWarnOnce.__init__/   s    $;r   c                     || j         vr5| j        r"t                              | j        |z              d| j         |<   d S d S )Nr+   )r,   r.   loggerr   r-   r
   warnings     r   oncezWarnOnce.once4   sI    $,&&|=V\\$(W*<===$%DL!!! '&r   c                 0    |                      |           d S r   )r4   r2   s     r   r!   zWarnOnce.__call__9   s    		'r   N)r)   )r"   r#   r$   r   r4   r!   r&   r   r   r(   r(   -   sF           
& & &
    r   r(   InfoN)	__version__r%   sysr   r   r1   r(   warnOnceinfoOncer&   r   r   <module>r;      s   
 K      ! ! ! ! ! ! ! !F vxx        
	&		r   