a
    ¥Q•hB  ã                   @   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"   | ¡ }z‚z|j |j dd¡¡}W n t	tfyÄ   d}Y n0 |�rt
|d	ƒ�}| | ¡ |ƒ W d  ƒ n1 sú0    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   úL/var/www/sistema_ama/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   )Z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r²t
| 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¡�rºg }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ƒ |< qüt	| }t&|t't(fƒ�rÜt)|ƒ}n0|dk�rô|fdd„}n|dv �rdd„ }nd}t"|||ƒ qüdS )z›This 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_versionr/   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 r2   )Úgetattr)ÚvÚMr   r   r   r7   {   r-   )ÚtrustedHostsÚ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=   r5   r   r   r   r?   }   r-   ú,)Ú
isinstanceÚstrr3   )r9   r   r   r   r7   }   r-   )*r   ÚsysÚversionr3   r0   Úreportlab.libr&   r   r'   Ú_SAVEDr8   r)   r(   ÚlistÚ__all__r   Úitemsr#   ÚappendÚtupleÚ	reportlabr   ÚabspathÚdirnameÚ__file__Úgetcwdr    r"   ÚendswithÚreplaceÚsepr   r   r   r%   r4   r   ÚfilterrC   ÚintÚfloatÚtype)rE   r&   r'   ÚAÚkr9   rN   ÚDÚPÚpÚdr$   r   r6   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   rA   r   r   r   r?   „   r-   z"register_reset.<locals>.<listcomp>Nc                    s   g | ]}|ƒ ˆ u r|‘qS r   r   rA   ©Úfuncr   r   r?   …   r-   r   )Úref)Ú_registered_resetsÚweakrefrc   rL   )rb   ÚLrc   r   ra   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`   rd   Úremove)r   Úcr   r   r   r   Š   s    r   )r   )NN)Ú__doc__rJ   r   r   rH   r0   r   Ú	functoolsr   Údictr!   r%   r`   rd   r   r   r   r   r   r   Ú<module>   s$   )



ý
8
