o
    ðäjÔ  ã                   @   sB   d dl Z d dlZd dlmZ 	 e  d¡Zdd„ ZG dd„ dƒZdS )é    N)ÚHeaderFooterz[\\*?:/\[\]]c                    s|   ‡ fdd„| D ƒ}|r<d  | ¡} t dt ˆ ¡› d�tj¡}| | ¡}|r<dd„ |D ƒ}d}|r4t|ƒ}d ˆ |d	 ¡‰ ˆ S )
z˜
    Naive check to see whether name already exists.
    If name does exist suggest a name using an incrementer
    Duplicates are case insensitive
    c                    s    g | ]}|  ¡ ˆ   ¡ kr|‘qS © )Úlower)Ú.0Ún©Úvaluer   ú[/var/www/ticemtrilhas/avaliacao_env/lib/python3.10/site-packages/openpyxl/workbook/child.pyÚ
<listcomp>   ó     z(avoid_duplicate_name.<locals>.<listcomp>ú,z
(?P<title>z)(?P<count>\d*),?c                 S   s    g | ]\}}|  ¡ rt|ƒ‘qS r   )ÚisdigitÚint)r   ÚtÚidxr   r   r	   r
      r   r   z{0}{1}é   )ÚjoinÚreÚcompileÚescapeÚIÚfindallÚmaxÚformat)Únamesr   ÚmatchÚsheet_title_regexÚmatchesÚcountsÚhighestr   r   r	   Úavoid_duplicate_name   s   

r    c                   @   s  e Zd ZdZdZdZdZdZd$dd„Zdd„ Z	e
d	d
„ ƒZe
dd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd„ ƒZejdd„ ƒZe
dd „ ƒZejd!d „ ƒZe
d"d#„ ƒZdS )%Ú_WorkbookChildÚ Nz{0}ÚSheetc                 C   s   || _ |p| j| _tƒ | _d S ©N)Ú_parentÚ_default_titleÚtitler   )ÚselfÚparentr'   r   r   r	   Ú__init__-   s   z_WorkbookChild.__init__c                 C   s   d  | jj| j¡S )Nz<{0} "{1}">)r   Ú	__class__Ú__name__r'   ©r(   r   r   r	   Ú__repr__3   s   z_WorkbookChild.__repr__c                 C   ó   | j S r$   )r%   r-   r   r   r	   r)   7   ó   z_WorkbookChild.parentc                 C   ó   | j jS r$   )r%   Úencodingr-   r   r   r	   r2   <   ó   z_WorkbookChild.encodingc                 C   r/   r$   )Ú_WorkbookChild__titler-   r   r   r	   r'   A   r0   z_WorkbookChild.titlec                 C   s¸   | j sdS |stdƒ‚t|dƒr(t|tƒs(z| d¡}W n ty'   tdƒ‚w t |¡}|r;d 	| 
d¡¡}t|ƒ‚| jdurL| j|krLt| jj|ƒ}t|ƒdkrWt d	¡ || _dS )
z¬
        Set a sheet title, ensuring it is valid.
        Limited to 31 characters, no special characters.
        Duplicate titles will be incremented numerically
        Nz&Title must have at least one characterÚdecodeÚasciizWorksheet titles must be strz*Invalid character {0} found in sheet titler   é   zTTitle is more than 31 characters. Some applications may not be able to read the file)r%   Ú
ValueErrorÚhasattrÚ
isinstanceÚstrr5   ÚUnicodeDecodeErrorÚINVALID_TITLE_REGEXÚsearchr   Úgroupr'   r    r)   Ú
sheetnamesÚlenÚwarningsÚwarnr4   )r(   r   ÚmÚmsgr   r   r	   r'   F   s(   

ÿ


c                 C   r1   r$   ©r   Ú	oddHeaderr-   r   r   r	   rG   h   r3   z_WorkbookChild.oddHeaderc                 C   ó   || j _d S r$   rF   ©r(   r   r   r   r	   rG   m   ó   c                 C   r1   r$   ©r   Ú	oddFooterr-   r   r   r	   rL   r   r3   z_WorkbookChild.oddFooterc                 C   rH   r$   rK   rI   r   r   r	   rL   w   rJ   c                 C   r1   r$   ©r   Ú
evenHeaderr-   r   r   r	   rN   |   r3   z_WorkbookChild.evenHeaderc                 C   rH   r$   rM   rI   r   r   r	   rN   �   rJ   c                 C   r1   r$   ©r   Ú
evenFooterr-   r   r   r	   rP   †   r3   z_WorkbookChild.evenFooterc                 C   rH   r$   rO   rI   r   r   r	   rP   ‹   rJ   c                 C   r1   r$   ©r   ÚfirstHeaderr-   r   r   r	   rR   �   r3   z_WorkbookChild.firstHeaderc                 C   rH   r$   rQ   rI   r   r   r	   rR   •   rJ   c                 C   r1   r$   ©r   ÚfirstFooterr-   r   r   r	   rT   š   r3   z_WorkbookChild.firstFooterc                 C   rH   r$   rS   rI   r   r   r	   rT   Ÿ   rJ   c                 C   s   | j  | j¡S r$   )Ú_pathr   Ú_idr-   r   r   r	   Úpath¤   s   z_WorkbookChild.path)NN)r,   Ú
__module__Ú__qualname__r4   rV   rU   r%   r&   r*   r.   Úpropertyr)   r2   r'   ÚsetterrG   rL   rN   rP   rR   rT   rW   r   r   r   r	   r!   %   sT    




!











r!   )r   rB   Ú openpyxl.worksheet.header_footerr   r   r=   r    r!   r   r   r   r	   Ú<module>   s   
