a
    7XhB                     @   s   d Z dadd Ze Zi ZdadddZdd	lmZ e	eed
deeddeedddZ
dddZdd Zg Zdd Zdd Ze  dS )z)module that aggregates config information)_resetregister_resetc                  C   s(  ddl m}  ddl}i }| d| | }z| d| || W n tyT   Y n0 | }z| d| || W n ty"   | }zz|j|jdd}W n t	tfy   d}Y n0 |rt
|d	}| | | W d   n1 s0    Y  || W n   Y n0 Y n0 |S )
z
    create & return defaults for all reportlab settings from
    reportlab.rl_settings.py
    reportlab.local_rl_settings.py
    reportlab_settings.py or ~/.reportlab_settings

    latter values override earlier
        )rl_execNz#from reportlab.rl_settings import *z)from reportlab.local_rl_settings import *z from reportlab_settings import *~z.reportlab_settingsrb)reportlab.lib.utilsr   oscopyupdateImportErrorpath
expanduserjoinKeyErroropenread)r   r   	_DEFAULTSZ
_overridesfnf r   X/var/www/viveiro_mudafortebrasil/venv/lib/python3.9/site-packages/reportlab/rl_config.py_defaults_init   s8    	



,r   Nr   c                 C   s&   ||vr"t d|d|  d| d S )Nzinvalid value z for rl_config.z
need one of )
ValueError)namevalueallowedr   r   r   _enumChk2   s    r   r   )partial)Z	rlPyCairo	_renderPM)r   )lxmlZpyrxp)Zfreetyper   backend)ZrenderPMBackendZ	xmlParserZ	textPathsc                 C   sX   ddl m} d|  }||v r$|| }|r0||}t| d}|rJ|| | |t | < dS )z-set a module level value from environ/defaultr   )environZRL_N)r   r!   	_rlChecksgetglobals)r   r   convZchkr!   Zenamer   r   r   _setOpt>   s    r&   c                     s  ddl  ddl} | j d addlm} ddlm} t	i krt
| ddatdu rlG dd dat  | _att}t D ],\}}| t	|< t |< |tvr||| q|t|addl} j j|j    dd t jd	d
d}t	D ]}|drg }t	| D ]f}	|	| d j}
d|
v rjz j|
}
W n t t!fyh   Y qY n0 ||
r||
 qt"| j#$| fdd tt%|t | t |< qt	| }t&|t't(frt)|}n0|dkr|fdd}n|dv rdd }nd}t"||| qdS )zThis function allows easy resetting to the global defaults
    If the environment contains 'RL_xxx' then we use the value
    else we use the given defaultr   N)	pagesizes)rl_isdir_rl_config__unset_c                   @   s   e Zd ZdS )_unset_N)__name__
__module____qualname__r   r   r   r   r*   V       r*   :XDG_DATA_HOMEz~/.local/share)ZREPORTLAB_DIRZCWDZdisksys_versionr0   Z
SearchPath/r   c                    s   |   jS N)splitpathsep)xr   r   r   <lambda>t   r.   z_startUp.<locals>.<lambda>ZdefaultPageSizec                 S   s
   t || S r3   )getattr)vMr   r   r   r8   {   r.   )ZtrustedHostsZtrustedSchemesc                 S   s8   | d u rd S t | tr4dd dd | dD D S | S )Nc                 S   s   g | ]}|r|qS r   r   ).0yr   r   r   
<listcomp>}   r.   z._startUp.<locals>.<lambda>.<locals>.<listcomp>c                 S   s   g | ]}|  qS r   )stripr<   r6   r   r   r   r>   }   r.   ,)
isinstancestrr4   )r:   r   r   r   r8   }   r.   )*r   sysversionr4   r1   Zreportlab.libr'   r   r(   _SAVEDr9   r*   r)   list__all__r   itemsr$   appendtuple	reportlabr   abspathdirname__file__getcwdr!   r#   endswithreplacesepr   r   r   r&   r5   r   filterrB   intfloattype)rD   r'   r(   Akr:   rL   DPpdr%   r   r7   r   _startUpI   sX    





r^   c                    sN   dd t D t dd<  fddt D }|r0dS ddlm} t |  dS )z4register a function to be called by rl_config._resetc                 S   s   g | ]}| r|qS r   r   r@   r   r   r   r>      r.   z"register_reset.<locals>.<listcomp>Nc                    s   g | ]}|  u r|qS r   r   r@   funcr   r   r>      r.   r   )ref)_registered_resetsweakrefra   rJ   )r`   Lra   r   r_   r   r      s
    r   c                  C   s8   t   tdd D ] } |  }|r(|  qt|  qdS )z&attempt to reset reportlab and friendsN)r^   rb   remove)r   cr   r   r   r      s    r   )r   )NN)__doc__rH   r   r   rF   r1   r   	functoolsr   dictr"   r&   r^   rb   r   r   r   r   r   r   <module>   s$   )




8
